-
Notifications
You must be signed in to change notification settings - Fork 35
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Pin-Anpassungen für Heltec Lora Devices #15
base: main
Are you sure you want to change the base?
Conversation
no more needed with the latest commits at the original HX711 lib from bodge
added hint to updated HX711 lib
copy in other folder
copy in other folder
copy in other folder
copy in other folder
copy in other folder
file name changed
move historic files to new directory
delet test file
move file to other directory
move file to other directory
move file to other directory
rename file
images added
This will automatically run the build on GitHub Actions. Thus, it will improve confidence for the authors regarding all further contributions.
added `^` for > any compatible version (new functionality in a backwards compatible manner and patches are allowed, 1.x.x). **RECOMMENDED** recommended via: https://docs.platformio.org/en/latest/core/userguide/lib/cmd_install.html#description
Add CI using PlatformIO
- A PlatformIO CI badge to show that the build is passing successfully - A GitHub tag badge to show the most recent release version tag
This uses the most recent versions of the U8g2 and ESP32Servo libraries. Both libraries are well maintained by their respective authors and maintainers, so we should use them in favour of outdated libraries which are no longer maintained. A little adjustment has been made to one #include statement. The updated library header file is now called "ESP32Servo.h" instead of "ESP32_Servo.h". Also, the servo default settings for the non-"SERVO_ERWEITERT" branch have been adjusted.
Update library versions
Add badges for PlatformIO CI and GitHub tag
Hallo Sascha, vielen Dank fuer Deinen Beitrag. Ich habe ein paar Anmerkungen dazu. a) Koenntest Du die Aenderungen an den Dateien unter b) Weitere Kommentare kommen inline. Viele Gruesse, |
- Fortschrittsanzeige eingebaut - Servo-Bibliothek geändert, jetzt ESP32Servo aus dem Bibliotheksverwalter und Servo-defaults für die neue Bibliothek angepasst - PlatformIO-Support an neue Servo-Bibliothek angepasst
Wenn ich das recht lese, dann ist mit dieser Änderung der HARDWARE_LEVEL 1 nicht mehr brauchbar für den normalen Heltec! |
Hi @amotl habe deine Anpassungen eingefügt. Ich würde dann auf die Inlinekommentare warten. @andreash-esp ich hab jetzt den Hardware Level 1 nicht angepasst, weil ich wollte so wenig Eckpunkte wie nur möglich haben. Generell wäre das bestimmt nett, die Einstellungen in einer Header Datei zu überführen, so dass auch Personen die nicht gleich die Entwickler sind, auch mal Einstellungen vornehmen können. |
Hallo Sascha, herzlichen Dank, ich schau gleich nochmal durch. Unabhaengig davon, dass Viele Gruesse, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hallo Sascha,
ich bin mal schnell alles durchgegangen, was mir auf die Schnelle auffiel.
Vielleicht wollen @ClemensGruber oder @andreash-esp bei der Gelegenheit auch noch einmal drueber schauen? Ich muss zugeben, dass ich die Firmware selbst nicht einsetze, deswegen sind meine Kommentare ein wenig mit Vorbehalt zu betrachten ;].
Herzliche Gruesse,
Andreas.
hani-mandl.ino
Outdated
const int switch_vcc_pin = 22; // <- Vcc | ||
const int switch_setup_pin = 21; | ||
const int switch_vcc_pin = 16; // <- Vcc | ||
const int switch_setup_pin = 22; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Mit der HARDWARE_LEVEL
-Definition ist ja scheinbar bereits vorgesehen, mit der gleichen Firmware verschiedene Hardware-Layouts beackern zu koennen, richtig?
Nimm doch Deine Hardware-Variante als weiteres HARDWARE_LEVEL == 3
hinzu? Oder aber kopple es ebenfalls an die LORAHELTEC
-Definition?
hani-mandl.ino
Outdated
const int hx711_dt_pin = 5; | ||
|
||
const int hx711_dt_pin = 2; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Evtl. ebenfalls an HARDWARE_LEVEL == 3
oder LORAHELTEC
koppeln?
hani-mandl.ino
Outdated
rotating = true; // debounce Management | ||
//rotating = true; // debounce Management |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Dies hier evtl. im Originalzustand lassen oder ebenfalls an eine neue #define
-Konstante koppeln?
hani-mandl.ino
Outdated
#define SERVO_ERWEITERT // definieren, falls die Hardware mit dem alten Programmcode mit Poti aufgebaut wurde oder der Servo zu wenig fährt | ||
//#define SERVO_ERWEITERT // definieren, falls die Hardware mit dem alten Programmcode mit Poti aufgebaut wurde oder der Servo zu wenig fährt |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Kannst Du das ebenfalls im Originalzustand belassen?
hani-mandl.ino
Outdated
//#define isDebug 3 // serielle debug-Ausgabe aktivieren. Mit >3 wird jeder Messdurchlauf ausgegeben | ||
#define isDebug 3 // serielle debug-Ausgabe aktivieren. Mit >3 wird jeder Messdurchlauf ausgegeben |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Dito.
hani-mandl.ino
Outdated
const int outputA = 33; | ||
const int outputA = 33; // DT | ||
#ifdef LORAHELTEC | ||
const int outputB = 39; // CLK | ||
#else | ||
const int outputB = 26; | ||
const int outputSW = 32; | ||
#endif | ||
const int outputSW = 32; // SQ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Schreibe das ruhig ausfuehrlicher, dann ist fuer das Verstaendnis und etwaige weitere Hardwarevarianten-Erweiterungen weniger Hirnverzwirnung notwendig.
#ifdef LORAHELTEC
const int outputA = 33; // DT
const int outputB = 39; // CLK
const int outputSW = 32; // SQ
#else
const int outputA = 33; // DT
const int outputB = 26; // CLK
const int outputSW = 32; // SQ
#endif
readme.md
Outdated
## Binär-Datei `hani-mandl.bin` | ||
|
||
Die Datei `hani-mandl.bin` wurde mit folgenden Parametern für das Board Heltec ESP32 Arduino > Wifi Kit 32 compiliert: | ||
|
||
``` | ||
#define HARDWARE_LEVEL 2 // 1 = originales Layout mit Schalter auf Pin 19/22/21 | ||
// 2 = Layout für V2 mit Schalter auf Pin 23/19/22 | ||
#define SERVO_ERWEITERT // definieren, falls die Hardware mit dem alten Programmcode mit Poti aufgebaut wurde oder der Servo zu wenig fährt | ||
// Sonst bleibt der Servo in Stop-Position einige Grad offen! Nach dem Update erst prüfen! | ||
#define ROTARY_SCALE 2 // in welchen Schritten springt unser Rotary Encoder. | ||
// Beispiele: KY-040 = 2, HW-040 = 1, für Poti-Betrieb auf 1 setzen | ||
#define USE_ROTARY // Rotary benutzen | ||
#define USE_ROTARY_SW // Taster des Rotary benutzen | ||
``` | ||
|
||
Eine Anleitung zum Flashen der Binär-Datei gibt es unter | ||
http://hanimandl.de/2020/12/23/firmware-binary-flashen/ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Dieser Bereich, der in der README hinzugekommen ist, darf ruhig bleiben. Vielen Dank!
Hallo Sascha, mit #21 bringen wir nun generellen Multiboard-Support in den Code. So koennen die von Dir gewuenschten Aenderungen bzgl. der Pin-Anpassungen deutlich besser aufgenommen werden, ohne dass wir dafuer separate Herzlichen Dank fuer Deinen Impuls. Viele Gruesse, |
Hi Sascha / @SBajonczak, vielen Dank für den Input hier und deinen pull request, Andreas / @amotl hat das zum Anlass genommen die board-Unterstützung grundlegen zu implementieren und dabei auch auf Variablen zuzugreifen die (automatisch) über die board definitions da sind wenn man über den Board-Verwalter die entsprechenden boards installiert, siehe #21 Wenn man die Heltec-Boards installiert gibt es vom LoRa-Board zwei Versionen:
welches hast denn du verwendet und weißt du zufällig was da der Unterschied ist? |
Hi Sascha, mit #22 habe ich nun Deine Verbesserungen auf Basis von #21 eingebracht, dabei jedoch nicht zwischen Heltec WiFi LoRa 32 vs. Heltec WiFi LoRa 32 V2 unterschieden. Vielleicht kannst Du da noch einmal drueberschauen und uns Rueckmeldung geben, ob das so klappen koennte? Viele Gruesse, |
Funktioniert das, wenn die Pins 14, 27 und 5 bereits vom Lora-Board verwendet werden? Da steht im Pinout ja explizit "they must not be used for other purposes unless you know what you are doing" |
@andreash-esp ich habe den hier im Einsatz. Bisher konnte ich keine Probleme sehen. Aber davon ab, ich verwende auch das Lora Device nicht aktiv. Ich vermute das es zu Problemen kommen wird, wenn man es aktiviert. Das habe ich nämlich mit der originalen Pinbelegung gemerkt. Dann konnte ich den Poti halt nicht gescheit verwenden :) |
@ClemensGruber Ich habe den V2 im Einsatz. Genau sowas hatte ich auch schon im Kopf gehabt, wenn Andreas jetzt zuvor gekommen war dann ist das ja perfekt 👍 . Ich bin nicht sicher, aber wenn ich mir meinen Heltec anschaue hab ich direkt ein Antennenanschluss on board (Antenne lag auch bei). Wenn ich mit die V1 anschaue (https://www.banggood.com/SX1278-LoRa-ESP32-0_96-Inch-Blue-OLED-Display-bluetooth-WIFI-Lora-Kit-32-Module-p-1238495.html?utm_source=googleshopping&utm_medium=cpc_organic&gmcCountry=DE&utm_content=minha&utm_campaign=minha-de-en-pc¤cy=EUR&cur_warehouse=CN&createTmp=1&utm_source=googleshopping&utm_medium=cpc_bgs&utm_content=frank&utm_campaign=frank-ssc-de-css-all-newcustom-ncv90-0623&ad_id=443949120684&gclid=Cj0KCQiA3Y-ABhCnARIsAKYDH7vHkbZc2TwGkZN7hKmqy7O505JTTErCA3_KCv3C-MvArU9rFyLqxNMaAimLEALw_wcB) dann scheint der ein größeren Flashspeicher zu haben als die V2 (https://heltec.org/project/wifi-lora-32/). Wieso man aber in V2 weniger verbaut, ist mir schleierhaft. |
Wenn es bei Sascha mit der Doppelbelegung funktioniert LoRa-Modul / HaniMandl funktionier ist das schon mal gut, wie verwenden das LoRa-Modul ja nicht was elektronisch passiert wenn wir das LoRa-Modul nicht per Software initialisiert haben weiß ich nicht. Input-Pins des LoRa-Moduls sollten kein Problem sein, wenn wir dei ebenfalls als Heltec output nutzen, ausser wir triggern damit irgendwas was wir nicht wollen. output des LoRa-Moduls, die erratisch dann doch einen impuls abgeben könnten für uns problematisch sein, wenn bei uns da z.B. ein Taster dranhängt und das (LoRa-Modul-)Signal dann fälschlicherweise als Tastendruck interpretiert wird. Sicher ist es auch nicht gut für die Hardware wenn wir auf einen output vom LoRa-Modul einen output des HaniMandl legen und den mit Signalen / Strom beschießen. Daher ist der Hinweis "unless you know what you are doing" schon ganz gut und wir sollten da nochmal genau schauen, falls du, Sascha / @SBajonczak das nicht schon getan hast. Der Heltec mit dem LoRa-Modul ist für den HaniMandl immer nur eine Notlösung und für Leute gedacht, die nur an das Board rankommen oder einfach falsch bestellt haben und nicht nochmal drei Wochen auf die nächste Lieferung warten möchten. |
Da wäre ich vorsichtig. Wenn der LORA im stable-Code drinsteht, dann wird das auch als "offiziell unterstützte" Hardware gesehen. Vermutlich passiert wirklich nix, wenn man die LORA-Hardware nicht anspricht, aber ich kann auf jeden Fall von mir nicht behaupten, dass ich wüßte, was ich da tue :-) |
Das kann ja alles gut sein. Aktuell läuft es ja mit dem v2 Heltect. Ich bin mir nicht sicher, ob ihr Lora noch verwenden wollt, Jedoch würde es ja keinen verünftigen Grund haben 😊. Daher gehe ich mal davon aus das es sann weniger eine Rolle spielt. Es sei denn jemand verwendet die Quellen und kombiniert das mit was anderem. Doch dann ist es ja wieder nicht mehr supported oder? Derzeit ist es halt ein Benefit, man muss es ja nicht aufnehmen. Kann das auch bei mir belassen und Anpassungen vom main übernehmen. Mir hat es halt geholfen, Daher wollte ich es halt contributen 😊 |
Habe hier die Pinbelegung für Lora Geräte entsprechend angepasst.
Um das Wiring für HELTEC zu verwenden, sollte lediglich das
LORAHELTEC
Define einfach eingebunden werden.Das Wiring bzw die zu verwendenten Pins habe ich in der Readme.md definiert.