|  | @ -20,9 +20,9 @@ const char* const fields[] = {"U_DC", "I_DC", "P_DC", "YieldDay", "YieldWeek", " | 
			
		
	
		
		
			
				
					|  |  | enum {CH0 = 0, CH1, CH2, CH3, CH4}; |  |  | enum {CH0 = 0, CH1, CH2, CH3, CH4}; | 
			
		
	
		
		
			
				
					|  |  | enum {CMD01 = 0x01, CMD02, CMD03, CMD83 = 0x83, CMD84}; |  |  | enum {CMD01 = 0x01, CMD02, CMD03, CMD83 = 0x83, CMD84}; | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  | enum {INV_TYPE_HM600 = 0, INV_TYPE_HM1200}; |  |  | enum {INV_TYPE_HM600 = 0, INV_TYPE_HM1200, INV_TYPE_HM400}; | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  | const char* const invTypes[] = {"HM600", "HM1200"}; |  |  | const char* const invTypes[] = {"HM600", "HM1200", "HM400"}; | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  | #define NUM_INVERTER_TYPES   2 |  |  | #define NUM_INVERTER_TYPES   3 | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  | typedef struct { |  |  | typedef struct { | 
			
		
	
		
		
			
				
					|  |  |     uint8_t    fieldId; // field id
 |  |  |     uint8_t    fieldId; // field id
 | 
			
		
	
	
		
		
			
				
					|  | @ -56,6 +56,23 @@ typedef struct { | 
			
		
	
		
		
			
				
					|  |  |  *  (complete payload in buffer) |  |  |  *  (complete payload in buffer) | 
			
		
	
		
		
			
				
					|  |  |  * */ |  |  |  * */ | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |  |  |  | //-------------------------------------
 | 
			
		
	
		
		
			
				
					|  |  |  |  |  | // HM400 HM350?, HM300?
 | 
			
		
	
		
		
			
				
					|  |  |  |  |  | //-------------------------------------
 | 
			
		
	
		
		
			
				
					|  |  |  |  |  | const byteAssign_t hm400assignment[] = { | 
			
		
	
		
		
			
				
					|  |  |  |  |  |     { FLD_UDC, UNIT_V,   CH1, CMD01, 14, 2, 10   }, | 
			
		
	
		
		
			
				
					|  |  |  |  |  |     { FLD_IDC, UNIT_A,   CH1, CMD01, 16, 2, 100  }, | 
			
		
	
		
		
			
				
					|  |  |  |  |  |     { FLD_PDC, UNIT_W,   CH1, CMD01, 18, 2, 10   }, | 
			
		
	
		
		
			
				
					|  |  |  |  |  |     { FLD_YT,  UNIT_KWH, CH1, CMD01, 20, 4, 1000 }, | 
			
		
	
		
		
			
				
					|  |  |  |  |  |     { FLD_YD,  UNIT_WH,  CH1, CMD01, 24, 2, 1000 }, | 
			
		
	
		
		
			
				
					|  |  |  |  |  |     { FLD_UAC, UNIT_V,   CH0, CMD01, 26, 2, 10   }, | 
			
		
	
		
		
			
				
					|  |  |  |  |  |     { FLD_F,   UNIT_HZ,  CH0, CMD82, 12, 2, 100  }, | 
			
		
	
		
		
			
				
					|  |  |  |  |  |     { FLD_PAC, UNIT_W,   CH0, CMD82, 14, 2, 10   }, | 
			
		
	
		
		
			
				
					|  |  |  |  |  |     { FLD_IAC, UNIT_A,   CH0, CMD82, 18, 2, 100  }, | 
			
		
	
		
		
			
				
					|  |  |  |  |  |     { FLD_T,   UNIT_C,   CH0, CMD82, 22, 2, 10   } | 
			
		
	
		
		
			
				
					|  |  |  |  |  | }; | 
			
		
	
		
		
			
				
					|  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  | //-------------------------------------
 |  |  | //-------------------------------------
 | 
			
		
	
		
		
			
				
					|  |  | // HM600, HM700
 |  |  | // HM600, HM700
 | 
			
		
	
		
		
			
				
					|  |  | //-------------------------------------
 |  |  | //-------------------------------------
 | 
			
		
	
	
		
		
			
				
					|  | 
 |