Forum: Mikrocontroller und Digitale Elektronik DAB Shield Frage zu Arduino Code


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von FX. Miller (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich habe mir mal die Beschreibung des DABShield für Arduino angeschaut.
Es gibt auf der Seite auch den Arduino Code wo ein LC Display und Tasten 
verwendet werden " Adafruit LCD Key Panel".

Meine Frage, was für ein EEPROM ist damit gemeint, ein externes an I2C 
Bus oder der Controller interne EEPROM.


#ifdef USE_EEPROM
uint16_t writeCurrentSettingsToFlashDelayTimer;
uint8_t writeCurrrentSettingsToFlash = 0;
#define WAIT_SAVECURRENTSETTINGS  10000   //wait 10 sec. after 
channel/vol change before save, prevent writing while selecting
#endif

Auf dem DABShield Board ist kein EEPROM drauf, nur das Falsh für die 
Firmware des SI4684 A10.

Es steht auch dabei:
The DAB Shield is compatible with both +5v and +3.3v arduino boards 
including UNO, DUE, M0, ZERO as well as STM32, NXP LPC, ESP32 boards.

Ich habe versucht das ino File zu compilieren, eingestellt war das UNO 
Board.
Es kommt die Fehlermeldung das zu wenig RAM vorhanden ist.
Erst mit einem ATMEGA 1284 läuft das Compilieren durch.

Hat den Sourcecode schon mal jemand verwendet, mit welchen Controller 
was hat es mit dem EEPROM auf sich.

von DerEinzigeBernd (Gast)


Lesenswert?

FX. Miller schrieb:
> ich habe mir mal die Beschreibung des DABShield für Arduino angeschaut.

Welches DAB-Shield, welche Beschreibung?

> Es gibt auf der Seite auch den Arduino Code wo ein LC Display und Tasten
> verwendet werden " Adafruit LCD Key Panel".

Auf welcher Seite?

Warum lädst Du den Code zweimal hoch, schaffst es aber nicht, den 
verdammten Link zu posten?

von FX. Miller (Gast)


Lesenswert?

DerEinzigeBernd schrieb:
> Warum lädst Du den Code zweimal hoch, schaffst es aber nicht, den
> verdammten Link zu posten?

Das war ein versehen, das ich den Code zweimal hochgeladen habe.

Hier der Link:

https://www.dabshield.com/projects/lcdproject

Ich ging davon aus, wer etwas dazu beitragen kann kennt den Link.

von Peter D. (peda)


Lesenswert?

FX. Miller schrieb:
> Ich ging davon aus, wer etwas dazu beitragen kann kennt den Link.

Sicher, daß es auf der ganzen Welt nur eine einzige DAB+ Lib gibt und 
auch nur einen einzigen Empfängerchip?

Die Informationen auf dieser Seite sind doch recht spärlich. Da hat wohl 
jemand angefangen und dann die Lust verloren.

von Flex Fan (Gast)


Lesenswert?

Peter D. schrieb:
> Die Informationen auf dieser Seite sind doch recht spärlich. Da hat wohl
> jemand angefangen und dann die Lust verloren.

Das sieht mehr danach aus das der Anbieter nur sein Zeug verkaufen will.
Für den Preis " für die Hardware " so eine Firmware?

Wer erwartet alles Fertig vorgeworfen zu bekommen ist hier sicher 
verkehrt.

von Ludwig Me. (Gast)


Lesenswert?

Peter D. schrieb:
> und
> auch nur einen einzigen Empfängerchip?

Steht doch dabei:

FX. Miller schrieb:
> für die
> Firmware des SI4684 A10.

Warum immer erst Bemerkungen loslassen  die darauf hinweisen, dass Du 
das gar nicht gelesen hast.
Das würde sogar im ino File stehen.
Dem TE kannst so nicht weiterhelfen.

Ist leider hier im Forum immer öfter zu lesen.

von Peter D. (peda)


Lesenswert?

Ludwig Me. schrieb:
> Ist leider hier im Forum immer öfter zu lesen.

Ja leider grassiert auch hier zunehmend das China-Fieber. Genauere 
Angaben sind ja sowas von unnötig.

Man bricht sich ja auch nen Zacken aus der Krone, wenn man einfach mal 
den Link postet. Im Web sind öfters auch verschiedene Versionen einer 
Lib zu finden.

von Alter Falter (Gast)


Lesenswert?

Peter D. schrieb:
> Ja leider grassiert auch hier zunehmend das China-Fieber. Genauere
> Angaben sind ja sowas von unnötig.

Was willst alles wissen. Die Frage die hier gestellt wurde war doch 
verständlich.

FX. Miller schrieb:
> Meine Frage, was für ein EEPROM ist damit gemeint, ein externes an I2C
> Bus oder der Controller interne EEPROM.

Es geht nur um das EEPROM und Arduino.

Ob die Software für ein Radio oder eine Waschmaschine zum Einsatz kommt 
ist hier völlig Nebensächlich.

von Dennis P. (Gast)


Lesenswert?

Alter Falter schrieb:
> Es geht nur um das EEPROM und Arduino.

Bist Du zum Scheißen zu doof?

FX. Miller schrieb:
> ich habe mir mal die Beschreibung des DABShield für Arduino angeschaut.
> Es gibt auf der Seite auch den Arduino Code wo ein LC Display und Tasten
> verwendet werden " Adafruit LCD Key Panel".
>
> Meine Frage, was für ein EEPROM ist damit gemeint, ein externes an I2C
> Bus oder der Controller interne EEPROM.

von Blue Tec (Gast)


Lesenswert?

Dennis P. schrieb:
> Bist Du zum Scheißen zu doof?

Warum schreibst Du hier wenn sich dein Wissen auf den Fäkalen Bereich 
beschränkt. Hat absolut nichts mit dem Thema zu tun. Okay Freitag!

Vielleicht kann ein Moderator das löschen.

Jedenfalls dem TE. wurde damit nicht geholfen.

Beitrag #7322428 wurde von einem Moderator gelöscht.
von Waldmann (Gast)


Lesenswert?

FX. Miller schrieb:
> Meine Frage, was für ein EEPROM ist damit gemeint, ein externes an I2C
> Bus oder der Controller interne EEPROM.
>
> #ifdef USE_EEPROM
> uint16_t writeCurrentSettingsToFlashDelayTimer;
> uint8_t writeCurrrentSettingsToFlash = 0;
> #define WAIT_SAVECURRENTSETTINGS  10000   //wait 10 sec. after
> channel/vol change before save, prevent writing while selecting
> #endif

Auch wenn ich das DAB Shield nicht habe würde mich eine Antwort auf die 
Frage schon interessieren.
Für den Fall das ich mal auf USE_EEPROM treffen sollte.

Ab und zu mache ich was mit Arduino, so habe ich das noch nicht gesehen, 
deshalb würde ich das auch gerne wissen.

I.Gnorant schrieb im Beitrag #7322428:
> Aber nicht für einen Herrn Danegger. Der hat damit zu tun, seine
> Borniertheit weiter aufzutürmen.

Das kann schon sein, einfach ignorieren!
Nur das übliche Bashing hier von denen die nicht liefern können.

von Axel R. (axlr)


Lesenswert?

Vielleicht mal ne ältere Version der "lib" verwenden oder mal ins 
Datenblatt des Si4684 schauen. Wenn der mit SPI angesteuert wird, kann 
es ja nicht soo schwer sein, den entsprechend zu bewegen, das zu tun, 
was Du möchtest.
https://www.arduinolibraries.info/libraries/dab-shield
hier werden ja schon mal locker 256+8 Byte für den SPI-Buffer verwendet 
und n Haufen Structs für Sendernamen usw. Das das nicht in dne UNO 
passt, war fast klar. Aber wie geschrieben: vielleicht sind die ersten 
Versionen noch nicht ganz so komfortabel geschrieben und brauchen daher 
weniger RAM. Kann gut sein, dass nur die ersten Versionen auf nem UNO 
getestet wurden.

von Axel R. (axlr)


Lesenswert?

Waldmann schrieb:
> Nur das übliche Bashing hier von denen die nicht liefern können.

Das war ja wohl nix

von Manfred (Gast)


Lesenswert?

Axel R. schrieb:
> https://www.arduinolibraries.info/libraries/dab-shield
> hier werden ja schon mal locker 256+8 Byte für den SPI-Buffer verwendet
> und n Haufen Structs für Sendernamen usw.

Diese lib. ist vom Verküfer des Shields. Was der sich da leistet, zudem 
noch bei dem Preis, ist eine grobe Unverschämtheit. Das gleiche Bild wie 
auf seiner Webseite, aber keinen Schaltplan.

Auf der Basis kann man nur stumpf kopieren und hoffen, dass es spielt. 
Ansonsten muß man wohl versuchen, aus dem Board die Schaltung 
auszuklingeln.

von Stefan F. (stefanus)


Lesenswert?

Offenbar wird dabei eine weitere Biblitothek verwendet, die EEPROM 
emuliert, indem sie Flash Speicher vom Arduino verwendet. Die Option 
funktioniert nur auf SAM21 basierten Boards und dem Arduino Due:

DABLCD.ino
1
// Include API for FlashStorage only valid for SAMD21 (M0/Zero etc).
2
#define USE_EEPROM
3
#include <FlashStorage.h>
4
#endif
5
6
#ifdef ARDUINO_SAM_DUE
7
#define USE_EEPROM
8
#define DUE_FLASH
9
#include <DueFlashStorage.h>
10
DueFlashStorage dueFlashStorage;
11
#endif

Letztendlich ist deine Frage in den Beschreibungen der beiden 
Bibliotheken beantwortet:

https://github.com/cmaglie/FlashStorage
https://github.com/sebnil/DueFlashStorage

: Bearbeitet durch User
von FX. Miller (Gast)


Angehängte Dateien:

Lesenswert?

Manfred schrieb:
> Auf der Basis kann man nur stumpf kopieren und hoffen, dass es spielt.
> Ansonsten muß man wohl versuchen, aus dem Board die Schaltung
> auszuklingeln.

Die Schaltung ist einfach, da kannst das aus dem Anhang verwenden.
Zu beachten sind wenn Du einen Controller mit 5,0 Volt hast die 
Anpassung an 3,3 Volt.
Es geht nur um den SPI Bus, Reset und Interrupt.

Der ganze Beitrag ist hier zu finden:

https://dirb.me/doku.php?id=de:tech:dabmodule

Ich habe die Schaltung mal nachgebaut, funktioniert auch.

von FX. Miller (Gast)


Lesenswert?

Stefan F. schrieb:
> Offenbar wird dabei eine weitere Biblitothek verwendet, die EEPROM
> emuliert, indem sie Flash Speicher vom Arduino verwendet.

In das Flash zu schreiben ob das so eine Gute Idee ist?
Meiner Meinung nach wäre ein EEPROM am I2C die bessere Lösung.

von Meister Lustig (Gast)


Lesenswert?

Flex Fan schrieb:
> Das sieht mehr danach aus das der Anbieter nur sein Zeug verkaufen will.
> Für den Preis " für die Hardware " so eine Firmware?

80 GBP für so'n simples shield ist schon heftig

von M_Pichler (Gast)


Lesenswert?

Meister Lustig schrieb:
> 80 GBP für so'n simples shield ist schon heftig

Das sind mit Versand 106 Euro, für so ein Board, wer kauft das?
Dann eine Firmware die wohl nicht funktioniert!
Nur wenn man sich die Preise anschaut z.B. bei Ebay was da für manches 
Bauteil verlangt wird das aus England kommt.

Der SI4684 A10 kostet bei Digikey ca. 13 Euro, der Rest ist Kleinkram.
Materialkosten schätze ich mal 22 - max. 25 Euro incl China PCB.

Kennt jemand eine Quelle für den SI4684 A10 wo man den als Privater 
preiswert bekommt.

Manfred schrieb:
> Das gleiche Bild wie
> auf seiner Webseite, aber keinen Schaltplan.

Die Schaltung was der hier verwendet, SI4684 Beschaltung + Audio OPV und 
so wie es aussieht Pegelanpassung des SPI Bus.

von Blitzeis (Gast)


Lesenswert?

Axel R. schrieb:
> hier werden ja schon mal locker 256+8 Byte für den SPI-Buffer verwendet
> und n Haufen Structs für Sendernamen usw. Das das nicht in dne UNO
> passt, war fast klar.

Meine Frage dazu, gibt es bei Arduino eine Möglichkeit die 
Speicherbelegung des Controllers anzuzeigen.
So z.B welche Variablen den RAM an welcher Adresse verwenden.

von Anton L. (anton66)


Lesenswert?

M_Pichler schrieb:
> Meister Lustig schrieb:
>> 80 GBP für so'n simples shield ist schon heftig
DAB-Shield + M0-Shield + LCD-Anzeige.
Es sei denn, die Preise haben sich geändert.

> Das sind mit Versand 106 Euro, für so ein Board, wer kauft das?
Ich. Funktioniert gut. Der Support war auch super.

> Dann eine Firmware die wohl nicht funktioniert!
Meine Firmware läuft gut. Ich habe allerdings später eine Firmware und 
Schaltung aus der ELEKTOR genommen und als Grundlage für eigene Versuche 
benutzt. Dieses Programm verstehe sogar ich.
>  . . .
> Kennt jemand eine Quelle für den SI4684 A10 wo man den als Privater
> preiswert bekommt.
Ich habe meine Si4689 von Digikey. Keine Ahnung ob der zur Zeit 
lieferbar ist. Firmeare gab es damals von Silabs. Habe allerdings die 
von Si4685. Der ist glaube ohne HD. Die gab es ohne NDA.
Die Schaltkreise sind doch ganzschön klein. Ich weiss auch nicht, ob die 
Firmware mit einem Si4689 funktioniert. Da habe ich erstmal ein fertiges 
Teil zum Rumprobieren genommen.
> . . .
> Die Schaltung was der hier verwendet, SI4684 Beschaltung + Audio OPV und
> so wie es aussieht Pegelanpassung des SPI Bus.
Audio-OPV glaube ich nicht. Kopfhörer-Ausgänge vom Si4684.
Mit ESP32 R32 Shield funktioniert es auch ganz gut.

Gruß Anton

von Stefan F. (stefanus)


Lesenswert?

Blitzeis schrieb:
> Meine Frage dazu, gibt es bei Arduino eine Möglichkeit die
> Speicherbelegung des Controllers anzuzeigen.
> So z.B welche Variablen den RAM an welcher Adresse verwenden.

Diese Information steht im MAP File, welches der Linker erstellt, wenn 
er mit den Optionen "-Wl,-Map,dateiname.map" aufgerufen wird.

https://forum.arduino.cc/t/how-to-add-compile-options-to-arduino-ide-1-8-13/692640/2

von M. Pichler (Gast)


Lesenswert?

Anton L. schrieb:
> Audio-OPV glaube ich nicht. Kopfhörer-Ausgänge vom Si4684.

Glauben hilft hier nicht weiter!
Schau mal die Beschaltung des U3 an, Bauteil im SO08 Gehäuse.
Pin 1 und 7 über C14, C16 zum Ausgang.
Pin 4 GND, Pin 8 VCC.
Eine Typische Beschaltung eines Dual OPVs.
Wenn Du das Shield hast schau doch mal bitte drauf was für ein Bauteil 
das ist.
Interessant wäre auch U5 und U6.

von Anton L. (anton66)


Lesenswert?

M. Pichler schrieb:
> Glauben hilft hier nicht weiter!
Ich habe mir die Platine nicht näher angeschaut.
Ok Ok.  Es ist ein OPV.

>Wenn Du das Shield hast schau doch mal bitte drauf was für ein Bauteil
>das ist.
Code: AAKW. Nach meinen Recherchen ist es ein MAX4232.

> Interessant wäre auch U5 und U6.
Code:Z17D oder 217D oder Z17Q oder 217Q
Ich habe nichts gefunden. Die Beinchen von U5 und U6 gehen auf die Pin 
29 bis 32 am Si4684. Sicher Pegelanpassung für SPI-Bus.

von aus N.Langwasser (Gast)


Lesenswert?

Anton L. schrieb:
> Ich habe allerdings später eine Firmware und
> Schaltung aus der ELEKTOR genommen und als Grundlage für eigene Versuche
> benutzt. Dieses Programm verstehe sogar ich.

Ist in der Tat übersichtlicher gemacht als was auf der Web Seite da zu 
finden ist.

Anton L. schrieb:
> Mit ESP32 R32 Shield funktioniert es auch ganz gut.

Es sollte auch möglich sein, das mit einem STM32 hin zu bekommen.
Liegt daran, dass ich kein ESP32 habe aber STM32 Boards.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.