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.
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.
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.
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.
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.
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.
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.
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
DueFlashStoragedueFlashStorage;
11
#endif
Letztendlich ist deine Frage in den Beschreibungen der beiden Bibliotheken beantwortet:
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.
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.
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.
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.
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.
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.
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.
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.