|  |  | @ -25,26 +25,22 @@ const char* const fields[] = {"U_DC", "I_DC", "P_DC", "YieldDay", "YieldWeek", " | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | // indices to calculation functions, defined in hmInverter.h
 | 
			
		
	
		
			
				
					|  |  |  | enum {CALC_YT_CH0 = 0, CALC_YD_CH0, CALC_UDC_CH}; | 
			
		
	
		
			
				
					|  |  |  | enum {CMD_CALC = 0xffff}; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | // CH0 is default channel (freq, ac, temp)
 | 
			
		
	
		
			
				
					|  |  |  | enum {CH0 = 0, CH1, CH2, CH3, CH4}; | 
			
		
	
		
			
				
					|  |  |  | // received command ids, special command CMDFF for calculations
 | 
			
		
	
		
			
				
					|  |  |  | enum {CMD01 = 0x01, CMD02, CMD03, CMD82 = 0x82, CMD83, CMD84, CMDFF=0xff}; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | enum {INV_TYPE_HM600 = 0, INV_TYPE_HM1200, INV_TYPE_HM400, INV_TYPE_HM800}; | 
			
		
	
		
			
				
					|  |  |  | const char* const invTypes[] = {"HM600", "HM1200 / HM1500", "HM400", "HM800"}; | 
			
		
	
		
			
				
					|  |  |  | #define NUM_INVERTER_TYPES   4 | 
			
		
	
		
			
				
					|  |  |  | enum {INV_TYPE_1CH = 0, INV_TYPE_2CH, INV_TYPE_4CH}; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | typedef struct { | 
			
		
	
		
			
				
					|  |  |  |     uint8_t    fieldId; // field id
 | 
			
		
	
		
			
				
					|  |  |  |     uint8_t    unitId;  // uint id
 | 
			
		
	
		
			
				
					|  |  |  |     uint8_t    ch;      // channel 0 - 3
 | 
			
		
	
		
			
				
					|  |  |  |     uint8_t    cmdId;   // received command id
 | 
			
		
	
		
			
				
					|  |  |  |     uint8_t    ch;      // channel 0 - 4
 | 
			
		
	
		
			
				
					|  |  |  |     uint8_t    start;   // pos of first byte in buffer
 | 
			
		
	
		
			
				
					|  |  |  |     uint8_t    num;     // number of bytes in buffer
 | 
			
		
	
		
			
				
					|  |  |  |     uint16_t   div;     // divisor
 | 
			
		
	
		
			
				
					|  |  |  |     uint16_t   div;     // divisor / calc command
 | 
			
		
	
		
			
				
					|  |  |  | } byteAssign_t; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
	
		
			
				
					|  |  | @ -54,106 +50,88 @@ typedef struct { | 
			
		
	
		
			
				
					|  |  |  |  * */ | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | //-------------------------------------
 | 
			
		
	
		
			
				
					|  |  |  | // HM400 HM350?, HM300?
 | 
			
		
	
		
			
				
					|  |  |  | // HM300, HM350, HM400
 | 
			
		
	
		
			
				
					|  |  |  | //-------------------------------------
 | 
			
		
	
		
			
				
					|  |  |  | const byteAssign_t hm400assignment[] = { | 
			
		
	
		
			
				
					|  |  |  |     { FLD_UDC, UNIT_V,   CH1, CMD01,  3, 2, 10   }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_IDC, UNIT_A,   CH1, CMD01,  5, 2, 100  }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_PDC, UNIT_W,   CH1, CMD01,  7, 2, 10   }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_YT,  UNIT_KWH, CH1, CMD01,  9, 4, 1000 }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_YD,  UNIT_WH,  CH1, CMD01, 13, 2, 1    }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_UAC, UNIT_V,   CH0, CMD01, 15, 2, 10   }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_F,   UNIT_HZ,  CH0, CMD82,  1, 2, 100  }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_PAC, UNIT_W,   CH0, CMD82,  3, 2, 10   }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_IAC, UNIT_A,   CH0, CMD82,  7, 2, 100  }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_T,   UNIT_C,   CH0, CMD82, 11, 2, 10   } | 
			
		
	
		
			
				
					|  |  |  | const byteAssign_t hm1chAssignment[] = { | 
			
		
	
		
			
				
					|  |  |  |     { FLD_UDC, UNIT_V,   CH1,  2, 2, 10   }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_IDC, UNIT_A,   CH1,  4, 2, 100  }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_PDC, UNIT_W,   CH1,  6, 2, 10   }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_YD,  UNIT_WH,  CH1, 12, 2, 1    }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_YT,  UNIT_KWH, CH1,  8, 4, 1000 }, | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     { FLD_UAC, UNIT_V,   CH0, 14, 2, 10   }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_IAC, UNIT_A,   CH0, 22, 2, 100  }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_PAC, UNIT_W,   CH0, 18, 2, 10   }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_F,   UNIT_HZ,  CH0, 16, 2, 100  }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_T,   UNIT_C,   CH0, 26, 2, 10   } | 
			
		
	
		
			
				
					|  |  |  | }; | 
			
		
	
		
			
				
					|  |  |  | #define HM400_LIST_LEN     (sizeof(hm400assignment) / sizeof(byteAssign_t)) | 
			
		
	
		
			
				
					|  |  |  | #define HM1CH_LIST_LEN     (sizeof(hm1chAssignment) / sizeof(byteAssign_t)) | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | //-------------------------------------
 | 
			
		
	
		
			
				
					|  |  |  | // HM600, HM700
 | 
			
		
	
		
			
				
					|  |  |  | // HM600, HM700, HM800
 | 
			
		
	
		
			
				
					|  |  |  | //-------------------------------------
 | 
			
		
	
		
			
				
					|  |  |  | const byteAssign_t hm600assignment[] = { | 
			
		
	
		
			
				
					|  |  |  |     { FLD_UDC, UNIT_V,   CH1, CMD01,  3, 2, 10   }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_IDC, UNIT_A,   CH1, CMD01,  5, 2, 100  }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_PDC, UNIT_W,   CH1, CMD01,  7, 2, 10   }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_UDC, UNIT_V,   CH2, CMD01,  9, 2, 10   }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_IDC, UNIT_A,   CH2, CMD01, 11, 2, 100  }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_PDC, UNIT_W,   CH2, CMD01, 13, 2, 10   }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_YW,  UNIT_WH,  CH0, CMD02,  1, 2, 1    }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_YT,  UNIT_KWH, CH0, CMD02,  3, 4, 1000 }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_YD,  UNIT_WH,  CH1, CMD02,  7, 2, 1    }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_YD,  UNIT_WH,  CH2, CMD02,  9, 2, 1    }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_UAC, UNIT_V,   CH0, CMD02, 11, 2, 10   }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_F,   UNIT_HZ,  CH0, CMD02, 13, 2, 100  }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_PAC, UNIT_W,   CH0, CMD02, 15, 2, 10   }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_IAC, UNIT_A,   CH0, CMD83,  3, 2, 100  }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_T,   UNIT_C,   CH0, CMD83,  7, 2, 10   } | 
			
		
	
		
			
				
					|  |  |  | }; | 
			
		
	
		
			
				
					|  |  |  | #define HM600_LIST_LEN     (sizeof(hm600assignment) / sizeof(byteAssign_t)) | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | const byteAssign_t hm2chAssignment[] = { | 
			
		
	
		
			
				
					|  |  |  |     { FLD_UDC, UNIT_V,   CH1,  2, 2, 10   }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_IDC, UNIT_A,   CH1,  4, 2, 100  }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_PDC, UNIT_W,   CH1,  6, 2, 10   }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_YD,  UNIT_WH,  CH1, 22, 2, 1    }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_YD,  UNIT_KWH, CH1, 14, 4, 1000 }, | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     { FLD_UDC, UNIT_V,   CH2,  8, 2, 10   }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_IDC, UNIT_A,   CH2, 10, 2, 100  }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_PDC, UNIT_W,   CH2, 12, 2, 10   }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_YD,  UNIT_WH,  CH2, 18, 2, 1    }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_YD,  UNIT_KWH, CH2, 24, 4, 1000 }, | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     { FLD_UAC, UNIT_V,   CH0, 26, 2, 10   }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_IAC, UNIT_A,   CH0, 34, 2, 10   }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_PAC, UNIT_W,   CH0, 30, 2, 10   }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_F,   UNIT_HZ,  CH0, 28, 2, 100  }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_T,   UNIT_C,   CH0, 38, 2, 10   } | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | //-------------------------------------
 | 
			
		
	
		
			
				
					|  |  |  | // HM800
 | 
			
		
	
		
			
				
					|  |  |  | //-------------------------------------
 | 
			
		
	
		
			
				
					|  |  |  | const byteAssign_t hm800assignment[] = { | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     { FLD_UDC, UNIT_V,   CH1, CMD01,  3, 2, 10   }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_IDC, UNIT_A,   CH1, CMD01,  5, 2, 100  }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_PDC, UNIT_W,   CH1, CMD01,  7, 2, 10   }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_UDC, UNIT_V,   CH2, CMD01,  9, 2, 10   }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_IDC, UNIT_A,   CH2, CMD01, 11, 2, 100  }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_PDC, UNIT_W,   CH2, CMD01, 13, 2, 10   }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_YW,  UNIT_WH,  CH0, CMD02,  1, 2, 1    }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_YT,  UNIT_KWH, CH0, CMD02,  3, 4, 1000 }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_YD,  UNIT_WH,  CH1, CMD02,  7, 2, 1    }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_YD,  UNIT_WH,  CH2, CMD02,  9, 2, 1    }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_UAC, UNIT_V,   CH0, CMD02, 11, 2, 10   }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_F,   UNIT_HZ,  CH0, CMD02, 13, 2, 100  }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_PAC, UNIT_W,   CH0, CMD02, 15, 2, 10   }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_IAC, UNIT_A,   CH0, CMD83,  3, 2, 100  }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_T,   UNIT_C,   CH0, CMD83,  7, 2, 10   } | 
			
		
	
		
			
				
					|  |  |  | }; | 
			
		
	
		
			
				
					|  |  |  | #define HM800_LIST_LEN     (sizeof(hm800assignment) / sizeof(byteAssign_t)) | 
			
		
	
		
			
				
					|  |  |  | #define HM2CH_LIST_LEN     (sizeof(hm2chAssignment) / sizeof(byteAssign_t)) | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | //-------------------------------------
 | 
			
		
	
		
			
				
					|  |  |  | // HM1200, HM1500
 | 
			
		
	
		
			
				
					|  |  |  | //-------------------------------------
 | 
			
		
	
		
			
				
					|  |  |  | const byteAssign_t hm1200assignment[] = { | 
			
		
	
		
			
				
					|  |  |  |     { FLD_UDC, UNIT_V,   CH1, CMD01,  3, 2, 10   }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_IDC, UNIT_A,   CH1, CMD01,  5, 2, 100  }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_PDC, UNIT_W,   CH1, CMD01,  9, 2, 10   }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_YD,  UNIT_WH,  CH1, CMD02,  5, 2, 1    }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_YT,  UNIT_KWH, CH1, CMD01, 13, 4, 1000 }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_UDC, UNIT_V,   CH3, CMD02,  9, 2, 10   }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_IDC, UNIT_A,   CH2, CMD01,  7, 2, 100  }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_PDC, UNIT_W,   CH2, CMD01, 11, 2, 10   }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_YD,  UNIT_WH,  CH2, CMD02,  7, 2, 1    }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_YT,  UNIT_KWH, CH2, CMD02,  1, 4, 1000 }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_IDC, UNIT_A,   CH3, CMD02, 11, 2, 100  }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_PDC, UNIT_W,   CH3, CMD02, 15, 2, 10   }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_YD,  UNIT_WH,  CH3, CMD03, 11, 2, 1    }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_YT,  UNIT_KWH, CH3, CMD03,  3, 4, 1000 }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_IDC, UNIT_A,   CH4, CMD02, 13, 2, 100  }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_PDC, UNIT_W,   CH4, CMD03,  1, 2, 10   }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_YD,  UNIT_WH,  CH4, CMD03, 13, 2, 1    }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_YT,  UNIT_KWH, CH4, CMD03,  7, 4, 1000 }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_UAC, UNIT_V,   CH0, CMD03, 15, 2, 10   }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_IAC, UNIT_A,   CH0, CMD84,  7, 2, 100  }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_PAC, UNIT_W,   CH0, CMD84,  3, 2, 10   }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_F,   UNIT_HZ,  CH0, CMD84,  1, 2, 100  }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_PCT, UNIT_PCT, CH0, CMD84,  9, 2, 10   }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_T,   UNIT_C,   CH0, CMD84, 11, 2, 10   }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_YD,  UNIT_WH,  CH0, CMDFF, CALC_YD_CH0,   0, 0 }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_YT,  UNIT_KWH, CH0, CMDFF, CALC_YT_CH0,   0, 0 }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_UDC, UNIT_V,   CH2, CMDFF, CALC_UDC_CH, CH1, 0 }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_UDC, UNIT_V,   CH4, CMDFF, CALC_UDC_CH, CH3, 0 } | 
			
		
	
		
			
				
					|  |  |  | const byteAssign_t hm4chAssignment[] = { | 
			
		
	
		
			
				
					|  |  |  |     { FLD_UDC, UNIT_V,   CH1,  2, 2, 10   }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_IDC, UNIT_A,   CH1,  4, 2, 100  }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_PDC, UNIT_W,   CH1,  8, 2, 10   }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_YD,  UNIT_WH,  CH1, 20, 2, 1    }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_YT,  UNIT_KWH, CH1, 12, 4, 1000 }, | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     { FLD_UDC, UNIT_V,   CH2, CALC_UDC_CH, CH1, CMD_CALC }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_IDC, UNIT_A,   CH2,  6, 2, 100  }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_PDC, UNIT_W,   CH2, 10, 2, 10   }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_YD,  UNIT_WH,  CH2, 22, 2, 1    }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_YT,  UNIT_KWH, CH2, 16, 4, 1000 }, | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     { FLD_UDC, UNIT_V,   CH3, 24, 2, 10   }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_IDC, UNIT_A,   CH3, 26, 2, 100  }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_PDC, UNIT_W,   CH3, 30, 2, 10   }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_YD,  UNIT_WH,  CH3, 42, 2, 1    }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_YT,  UNIT_KWH, CH3, 34, 4, 1000 }, | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     { FLD_UDC, UNIT_V,   CH4, CALC_UDC_CH, CH3, CMD_CALC }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_IDC, UNIT_A,   CH4, 28, 2, 100  }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_PDC, UNIT_W,   CH4, 32, 2, 10   }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_YD,  UNIT_WH,  CH4, 44, 2, 1    }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_YT,  UNIT_KWH, CH4, 38, 4, 1000 }, | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     { FLD_UAC, UNIT_V,   CH0, 46, 2, 10   }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_IAC, UNIT_A,   CH0, 54, 2, 100  }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_PAC, UNIT_W,   CH0, 50, 2, 10   }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_F,   UNIT_HZ,  CH0, 48, 2, 100  }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_PCT, UNIT_PCT, CH0, 56, 2, 10   }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_T,   UNIT_C,   CH0, 58, 2, 10   }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_YD,  UNIT_WH,  CH0, CALC_YD_CH0,   0, CMD_CALC }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_YT,  UNIT_KWH, CH0, CALC_YT_CH0,   0, CMD_CALC } | 
			
		
	
		
			
				
					|  |  |  | }; | 
			
		
	
		
			
				
					|  |  |  | #define HM1200_LIST_LEN     (sizeof(hm1200assignment) / sizeof(byteAssign_t)) | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | #define HM4CH_LIST_LEN     (sizeof(hm4chAssignment) / sizeof(byteAssign_t)) | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | #endif /*__HM_DEFINES_H__*/ | 
			
		
	
	
		
			
				
					|  |  | 
 |