Browse Source

Merge branch 'rejoe1-development03' into development03

pull/1315/head
lumapu 9 months ago
parent
commit
8e6f511549
  1. 47
      src/hm/Communication.h
  2. 2
      src/hm/hmInverter.h

47
src/hm/Communication.h

@ -353,6 +353,12 @@ class Communication : public CommQueue<> {
miDataDecode(p, q); miDataDecode(p, q);
} else if (p->packet[0] == (0x0f + ALL_FRAMES)) } else if (p->packet[0] == (0x0f + ALL_FRAMES))
miHwDecode(p, q); miHwDecode(p, q);
else if (p->packet[0] == ( 0x10 + ALL_FRAMES)) {
// MI response from get Grid Profile information request
miGPFDecode(p, q);
}
else if ((p->packet[0] == 0x88) || (p->packet[0] == 0x92)) { else if ((p->packet[0] == 0x88) || (p->packet[0] == 0x92)) {
record_t<> *rec = q->iv->getRecordStruct(RealTimeRunData_Debug); // choose the record structure record_t<> *rec = q->iv->getRecordStruct(RealTimeRunData_Debug); // choose the record structure
rec->ts = q->ts; rec->ts = q->ts;
@ -650,22 +656,31 @@ class Communication : public CommQueue<> {
(mCbPayload)(InverterDevInform_Simple, q->iv); (mCbPayload)(InverterDevInform_Simple, q->iv);
q->iv->miMultiParts++; q->iv->miMultiParts++;
} }
//if(q->iv->miMultiParts > 5) }
//closeRequest(q->iv, true);
//else inline void miGPFDecode(packet_t *p, const queue_s *q) {
//if(q->iv->miMultiParts < 6) record_t<> *rec = q->iv->getRecordStruct(InverterDevInform_Simple); // choose the record structure
// mState = States::WAIT; rec->ts = q->ts;
/*if (mPayload[iv->id].multi_parts > 5) { q->iv->setValue(2, rec, (uint32_t) (((p->packet[10] << 8) | p->packet[11]))); //FLD_GRID_PROFILE_CODE
iv->setQueuedCmdFinished(); q->iv->setValue(3, rec, (uint32_t) (((p->packet[12] << 8) | p->packet[13]))); //FLD_GRID_PROFILE_VERSION
mPayload[iv->id].complete = true;
mPayload[iv->id].rxTmo = true; /* according to xlsx (different start byte -1!)
mPayload[iv->id].requested= false; Polling Grid-connected Protection Parameter File Command - Receipt
iv->radioStatistics.rxSuccess++; byte[10] ST1 indicates the status of the grid-connected protection file. ST1=1 indicates the default grid-connected protection file, ST=2 indicates that the grid-connected protection file is configured and normal, ST=3 indicates that the grid-connected protection file cannot be recognized, ST=4 indicates that the grid-connected protection file is damaged
} byte[11] byte[12] CountryStd variable indicates the national standard code of the grid-connected protection file
if (mHighPrioIv == NULL) byte[13] byte[14] Version indicates the version of the grid-connected protection file
mHighPrioIv = iv; byte[15] byte[16]
*/ */
/*if(mSerialDebug) {
DPRINT(DBG_INFO,F("ST1 "));
DBGPRINTLN(String(p->packet[9]));
DPRINT(DBG_INFO,F("CountryStd "));
DBGPRINTLN(String((p->packet[10] << 8) + p->packet[11]));
DPRINT(DBG_INFO,F("Version "));
DBGPRINTLN(String((p->packet[12] << 8) + p->packet[13]));
}*/
q->iv->miMultiParts = 7; // indicate we are ready
} }
inline void miDataDecode(packet_t *p, const queue_s *q) { inline void miDataDecode(packet_t *p, const queue_s *q) {

2
src/hm/hmInverter.h

@ -215,6 +215,8 @@ class Inverter {
record_t<> *rec = getRecordStruct(InverterDevInform_Simple); record_t<> *rec = getRecordStruct(InverterDevInform_Simple);
if (getChannelFieldValue(CH0, FLD_PART_NUM, rec) == 0) if (getChannelFieldValue(CH0, FLD_PART_NUM, rec) == 0)
cb(0x0f, false); // hard- and firmware version for missing HW part nr, delivered by frame 1 cb(0x0f, false); // hard- and firmware version for missing HW part nr, delivered by frame 1
else if((getChannelFieldValue(CH0, FLD_GRID_PROFILE_CODE, rec) == 0) && generalConfig->readGrid) // read grid profile
cb(0x10, false); // legacy GPF command
else else
cb(((type == INV_TYPE_4CH) ? MI_REQ_4CH : MI_REQ_CH1), false); cb(((type == INV_TYPE_4CH) ? MI_REQ_4CH : MI_REQ_CH1), false);
} }

Loading…
Cancel
Save