mirror of
https://github.com/lumapu/ahoy.git
synced 2025-08-03 08:28:20 +02:00
Neue Version von Hubi vom 28.04.2022 - siehe:
https://www.mikrocontroller.net/topic/525778?page=4#7048605 ersetzt NRF24_SendRcv Kommentare dazu: - Projekt jetzt umgenannt in HoyDtuSim (Hoymiles DTU Simulation) -Läuft auf Arduino (bei mir auf Pro Mini) und ESP (Wemos D1 mini), je nachdem wie man kompiliert - Channel hopping für senden und Empfangen (poor man's ...) ist eingebaut und bringt konstante Antworten; obige Erkenntnisse über Kanäle abwärts sind noch nicht eingebaut - da manchmal ein Abbruch der RF-Verbindung vorkam (auch schon oben erwähnt) wird jetzt nach ca 50 Sekunden ohne Empfang das RF-Modul neu initialisiert und es geht problemlos weiter - Definitionen für HM-600 und HM-1200 sind implementiert, andere können anhand der beiden Beispiele sicher leicht impl. werden - Anpassungen sind in der Settings.h zu machen
This commit is contained in:
parent
20cd77a6c2
commit
c0140f9fc1
12 changed files with 1959 additions and 0 deletions
37
tools/HoyDtuSim/HM600.h
Normal file
37
tools/HoyDtuSim/HM600.h
Normal file
|
@ -0,0 +1,37 @@
|
|||
#ifndef __HM600_H
|
||||
#define __HM600_H
|
||||
|
||||
#define HM600
|
||||
#define HM700
|
||||
|
||||
|
||||
float calcEheute (float *measure) { return measure[8] + measure[9]; }
|
||||
float calcIpv (float *measure) { return (measure[10] != 0 ? measure[12]/measure[10] : 0); }
|
||||
|
||||
const measureDef_t hm600_measureDef[] = {
|
||||
{ IDX_UDC, CH1, UNIT_V, CMD01, 14, BYTES2, DIV10},
|
||||
{ IDX_IDC, CH1, UNIT_A, CMD01, 16, BYTES2, DIV100},
|
||||
{ IDX_PDC, CH1, UNIT_W, CMD01, 18, BYTES2, DIV10},
|
||||
{ IDX_UDC, CH2, UNIT_V, CMD01, 20, BYTES2, DIV10},
|
||||
{ IDX_IDC, CH2, UNIT_A, CMD01, 22, BYTES2, DIV100},
|
||||
{ IDX_PDC, CH2, UNIT_W, CMD01, 24, BYTES2, DIV10},
|
||||
{ IDX_E_WOCHE,CH0, UNIT_WH, CMD02, 12, BYTES2, DIV1},
|
||||
{ IDX_E_TOTAL,CH0, UNIT_WH, CMD02, 14, BYTES4, DIV1},
|
||||
{ IDX_E_TAG, CH1, UNIT_WH, CMD02, 18, BYTES2, DIV1},
|
||||
{ IDX_E_TAG, CH2, UNIT_WH, CMD02, 20, BYTES2, DIV1},
|
||||
{ IDX_UAC, CH0, UNIT_V, CMD02, 22, BYTES2, DIV10},
|
||||
{ IDX_FREQ, CH0, UNIT_HZ, CMD02, 24, BYTES2, DIV100},
|
||||
{ IDX_PAC, CH0, UNIT_W, CMD02, 26, BYTES2, DIV10},
|
||||
{ IDX_WR_TEMP,CH0, UNIT_C, CMD83, 18, BYTES2, DIV10}
|
||||
};
|
||||
|
||||
|
||||
measureCalc_t hm600_measureCalc[] = {
|
||||
{ IDX_E_HEUTE, UNIT_WH, DIV1, &calcEheute},
|
||||
{ IDX_IPV, UNIT_A, DIV100, &calcIpv}
|
||||
};
|
||||
|
||||
#define HM600_MEASURE_LIST_LEN sizeof(hm600_measureDef)/sizeof(measureDef_t)
|
||||
#define HM600_CALCED_LIST_LEN sizeof(hm600_measureCalc)/sizeof(measureCalc_t)
|
||||
|
||||
#endif
|
Loading…
Add table
Add a link
Reference in a new issue