Entwicklung SIGNALDuino Empfänger Firm- und Hardware V4 für Maple Mini und ESP32

Begonnen von Ralf9, 13 Dezember 2019, 12:48:26

Vorheriges Thema - Nächstes Thema

Ranseyer

@Peter, ist noch kurzfristig mit Feedback zu etwas anderem als zu der Abschirmungs-Sache von dir zu rechnen ?

Falls die Abschirmung das einzige Thema wäre, dann mache ich morgen die Platine fertig und bestelle.

Grund:
-Alle meine anderen Projekte warten nun schon eine Weile auf Bestellung
-Abschirmung geht jetzt auch schon, man wird nur vermutlich sich selbst ein Stückchen Kupfer- oder Weissblech biegen müssen.

PS: Und ich würde eine Sammelbestellung anbieten und kalkuliere für die erste kleine Serie (für diejenigen die jetzt gleich, also ungetestet bestellen) mal so 1,5€ pro Stück...
(Unter Sammelbestellung verstehe ich dann auch alle auf einmal zu versenden...)
FHEM mit FTUI. Homematic-Funk für Thermostate und Licht. MySensors als Basis für eigene HW.
Zentrale ist der MAPLE-CUL mit RFM69+HModUART-AddOn.
Doku zu meinen Projekten: Github/Ranseyer. Platinen falls verfügbar gerne auf Anfrage.
Support: gerne wenn ich Zeit+Lust habe im Forum. Nicht per PN!

RaspiLED

Hi,
dann nehme ich mal 3 Signalmaples ;-) Gruß Arnd


Signalduino (Nano, ESP, ...), CUL (Busware, Nano, Maple, ...), Homematic (HM-MOD-UART-RPI, ESP, Maple, ...), LaCrosseGateway (LGW, ESP, ...), 1-wire, ESPEasy, Bravia, Yamaha, ...
Raspberry Pi mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, WifiLight2, Bravia, ...

Ralf9

Hat jemand einen MAPLE Mini übrig, den er gerade nicht benötigt?

Ich könnte noch einen gebrauchen.

Ich habe Probleme mit der serialUsb, ich möchte ausschließen daß es an der Hardware liegt.
Außer mir hat anscheinend niemand Probleme mit der serialUsb.

Gruß Ralf
FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module HBW_IO_SW
Maple-SIGNALduino, WH3080,  Hideki, Id 7

Ranseyer

Zitat von: Ralf9 am 11 Februar 2020, 16:11:42
Hat jemand einen MAPLE Mini übrig, den er gerade nicht benötigt?

Ich könnte noch einen gebrauchen.

Ich habe Probleme mit der serialUsb, ich möchte ausschließen daß es an der Hardware liegt.
Außer mir hat anscheinend niemand Probleme mit der serialUsb.

Gruß Ralf


Hab ich (Bitte PN!). Und du kannst zusätzlich auch alle dubiosen Maple von mir haben  ohne Baite Aufdruck (die werden aber ggf. wegen deren Bootloader Zicken machen...) .
FHEM mit FTUI. Homematic-Funk für Thermostate und Licht. MySensors als Basis für eigene HW.
Zentrale ist der MAPLE-CUL mit RFM69+HModUART-AddOn.
Doku zu meinen Projekten: Github/Ranseyer. Platinen falls verfügbar gerne auf Anfrage.
Support: gerne wenn ich Zeit+Lust habe im Forum. Nicht per PN!

Ralf9

Ich habe noch sporadische Abstürze im LAN Betrieb, kann dies evtl an der fliegenden Verkabelung des LAN-Moduls liegen?
Mein Testaufbau:
https://forum.fhem.de/index.php/topic,106278.msg1014957.html#msg1014957
FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module HBW_IO_SW
Maple-SIGNALduino, WH3080,  Hideki, Id 7

Ranseyer

Keine Ahnung, ich nur sagen dass das LAN Modul relativ viel Strom zieht.
(Z.B. kann man den Maple mit LAN Modul nicht flashen wenn man z.B. ein schlechtes USB Kabel/Netzteil zur Spannungsversorgung nutzt.Ohne LAN Modul: kein Problem)

Hier ein paar Anhaltspunkte zum Verbrauch: https://wiki.fhem.de/wiki/MapleCUN#Debugging_.2F_weiteres
FHEM mit FTUI. Homematic-Funk für Thermostate und Licht. MySensors als Basis für eigene HW.
Zentrale ist der MAPLE-CUL mit RFM69+HModUART-AddOn.
Doku zu meinen Projekten: Github/Ranseyer. Platinen falls verfügbar gerne auf Anfrage.
Support: gerne wenn ich Zeit+Lust habe im Forum. Nicht per PN!

Ralf9

Es gibt nun eine erste Testversion für den Maple Mini (V 4.0.1-dev200215)
https://github.com/Ralf9/SIGNALDuino/releases/tag/4.0.1-dev200215
https://github.com/Ralf9/SIGNALDuino/tree/dev-r40x_cc1101

Das Erhöhen des Messagepuffers von 254 auf 1500 war doch aufwändiger als ich gedacht hatte.
Die Protokolle bei denen ein Messagepuffer von 254 zu klein ist, werden mittlerweile immer mehr.

Nun folgt als nächster Schritt die Unterstützung von bis zu 4 cc1101 Modulen (A-D)
Ich habe es wie folgt vor:
Es gibt einen neuen Befehl CR (Config Radio)
Mit CRE<A-D> wird ein cc1101 aktiviert und mit CRD<A-D> deaktiviert

Der Befehl b<0-9> wird erweitert.
Mit b<0-9><A-D> wird eines der cc1101 Module A-D einer EEPROM Speicherbank zugewiesen und damit initialisiert.
Mit b1A wird dann das erste (A) cc1101 der Bank 1 zugewiesen damit initialisiert.

Mit V (get Version) bekommt man dann eine Übersicht über die Module z.B:
V 4.0.1-dev200215 SIGNALduino cc1101 (R: A1 B0 C2) - compiled at ...
"R:" für Radio
A1 - der erste cc1101 auf Bank 1
B0 - der zweite cc1101 auf Bank 0
C2 - der dritte cc1101 auf Bank 2

Gruß Ralf


FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module HBW_IO_SW
Maple-SIGNALduino, WH3080,  Hideki, Id 7

Ralf9

Beim Anschauen des Codes des cc1101 zum Init und zum Detekt ist mir aufgefallen, daß bei der a-culfw nirgends nach einem select() ein waitMiso() verwendet wird,
hat dies keine Nachteile?

Beim AskSinPP und beim Signalduino ist es beim cc1101 reset so eingebaut
https://github.com/pa-pa/AskSinPP/blob/8268dbf6d6b76b66df3fcd081592019ebfb10064/Radio.h#L414

    // Pull CSn low and wait for SO to go low (CHIP_RDYn).
    spi.select();
    spi.waitMiso();

    // Issue the SRES strobe on the SI line
    uint8_t ret = spi.send(CC1101_SRES);

    // When SO goes low again, reset is complete and the chip is in the IDLE state.
    spi.waitMiso();
    spi.deselect();


Beim Signalduino ist das waitMiso im cmdStrobe enthalten, ist zwar wahrscheinlich nur beim CC1101_SRES notwendig, dürfte aber bei den anderen cmdStrobe auch nicht schaden.
uint8_t cmdStrobe(const uint8_t cmd) {                  // send command strobe to the CC1101 IC via SPI
cc1101_Select();                              // select CC1101
wait_Miso();                                     // wait until MISO goes low
uint8_t ret = sendSPI(cmd);                     // send strobe command
wait_Miso();                                   // wait until MISO goes low
cc1101_Deselect();                              // deselect CC1101
return ret; // Chip Status Byte
}



Ich stelle mir einen sauberen Init/Detekt folgendermaßen vor

cc1101_Deselect();                                  // some deselect and selects to init the cc1101
delayMicroseconds(30);

// Begin of power on reset
cc1101_Select();
delayMicroseconds(30);

cc1101_Deselect();
delayMicroseconds(45);

// Pull CSn low and wait for SO to go low (CHIP_RDYn).
cc1101_Select();
wait_Miso();

uint8_t ret = sendSPICC1101_SRES();          // send SRES strobe command

// When SO goes low again, reset is complete and the chip is in the IDLE state.
wait_Miso();
cc1101_Deselect();

// danach kann beim ersten Init oder beim detekt die  Partnum und Version ausgelesen werden
delay(10);  // ist dies hier notwendig?
val = readReg(0x30, CC1101_CONFIG);  // Partnum   (im Datenblatt seht 0x30 (0xF0), was bedeuten die 0xF0?
val = readReg(0x31, CC1101_CONFIG);  // Version



Ich würde hier beim wait_Miso() ein Timeout einbauen, damit abgebrochen wird falls bei einem defekten cc1101 das Miso nicht auf low geht

Gruß Ralf
FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module HBW_IO_SW
Maple-SIGNALduino, WH3080,  Hideki, Id 7

locutus

Zitat von: Ralf9 am 16 Februar 2020, 01:51:28
Es gibt nun eine erste Testversion für den Maple Mini (V 4.0.1-dev200215)

Ich würds gerne testen aber ...
- wo ist das kompilierte Binary File für Maple Mini?
- wie sehen die Voreinstellungen in der Arduino IDE für Board: "Generic STM32F1 series" aus?

Soeben den Maple Mini durchs flashen aus der Arduino IDE ins Jenseits befördert. Ich hoffe es ist nur der Bootloader zerschossen.

Ralf9

Edit 09.09.22:
inzwischen gibts den core 2.3.0
dazu wird in der Arduino ide unter "zusätzliche Boardverwalter URLs" folgendes eingetragen:
https://github.com/stm32duino/BoardManagerFiles/raw/main/package_stmicroelectronics_index.json

wichtig, da beim core 2.x.x bei Serial noch ein bug ist, ist bei der Serial und USB Version der core 1.9.0 erforderlich
Es gibt für den core 2.x.x zwar ein workaround, dazu muß aber im core in einer Datei was geändert werden.
Beim core 1.9.0 kommt unter "zusätzliche Boardverwalter URLs" folgendes rein:
https://github.com/stm32duino/BoardManagerFiles/raw/master/STM32/package_stm_index.json

Danach im Boardverwalter nach STM32 filtern und den core installieren.


In der Anlage sind die Einstellungen für board
In der Arduino IDE habe ich unter Voreinstellungen: "Ausführliche Ausgabe während: hochladen".
Dann steht in der IDE in der Ausgabe folgendes:
maple_upload ttyACM0 1 1EAF:0003 /tmp/arduino_build_944154/RF_Receiver_40x.ino.bin
Dies führe ich dann mit Rootrechten kurz nach dem reset drücken in einer shell aus, damit klappt dann das timing recht gut. Edit es funktioniert auch ohne reset drücken.

Zitat
wo ist das kompilierte Binary File für Maple Mini?
eine kompilierte Binary gibts momentan noch nicht.
Was für eine Hardware verwendest Du zum Testen?
Bis jetzt funktioniert es nur mit USB.
Mit dem Lan Modul habe ich noch Abstürze, kann es evtl an meinem fliegenden Aufbau mit 10cm Dupont Kabeln liegen?
Edit 12.6.2020:
Der core 1.9.0 hat deutliche Besserung bei der LAN Version gebracht.

Beim core 1.9.0 sind zum compilieren die folgenden Files notwendig:
bitstore.h
cc1101.h
FastDelegate.h
output.h
RF_Receiver_41x.ino
signalDecoder4.cpp
signalDecoder4.h
SimpleFIFO.h
tools.h



Empfehlungen zur Arduino IDE board Konfig:
Optimize:          "Fast (-O1)"
C Runtime Library: "Newlib Nano (default)"
Upload method:     "Bootloader 2.0"

Für USB:
USART support    Enabled (no generic Serial)
USB support      CDC (generic Serial supersede U(S)ART)

Für Serial:
USART support    Enabled (generic Serial)
USB support      keine

Für LAN:
USART support    Enabled (no generic Serial)
USB support      keine
FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module HBW_IO_SW
Maple-SIGNALduino, WH3080,  Hideki, Id 7

Ralf9

Ich bin inzwischen soweit, daß es auch mit mehreren cc1101 funktioniert.
Ich weiß noch nicht so richtig wie ich es mit den Versionsnr mache.

Meine Version mit nur einem cc1101 hat die Version: 4.0.1-dev
Welche Versionsnr verwende ich dann bei der Version bei der auch bis zu 4 cc1101 unterstützt werden? 4.0.2 oder 4.1.0

Ich bin gerade an einer Beschreibung, damit das mit den 10 EEPROM Speicherbänken verständlicher wird.
FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module HBW_IO_SW
Maple-SIGNALduino, WH3080,  Hideki, Id 7

sash.sc

Mach doch direkt die Unterstützung für alle cc1101 rein.

Gesendet von meinem MI 9 mit Tapatalk

Raspi 4B+ Bullseye ;LaCrosse; HomeMatic; MapleCUL; ZigBee; Signalduino ESP32 ; Shellys; MQTT2; Grafana mit Influxdb

Ralf9

FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module HBW_IO_SW
Maple-SIGNALduino, WH3080,  Hideki, Id 7

Ralf9

Zitat von: sash.sc am 28 Februar 2020, 18:23:57
Mach doch direkt die Unterstützung für alle cc1101 rein.
Die Unterstützung von bis zu 4 cc1101 habe ich bei mir schon drin.
FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module HBW_IO_SW
Maple-SIGNALduino, WH3080,  Hideki, Id 7

Ralf9

Hier ist eine Testversion 4.1.0-dev200301 bei der bis zu 4 cc1101 Module unterstützt werden. USB funktioniert momentan nur mit dem orginal Bootloader.
https://github.com/Ralf9/SIGNALDuino/releases

https://github.com/Ralf9/SIGNALDuino/tree/dev-r41x_cc1101

Gruß Ralf
FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module HBW_IO_SW
Maple-SIGNALduino, WH3080,  Hideki, Id 7