replace magic numbers with defines
fix MBUS_MAX_PRIMARY_SLAVES to 250
This commit is contained in:
		@@ -1619,7 +1619,7 @@ mbus_vif_unit_lookup(u_char vif)
 | 
			
		||||
    static char buff[256];
 | 
			
		||||
    int n;
 | 
			
		||||
 | 
			
		||||
    switch (vif & 0x7F) // ignore the extension bit in this selection
 | 
			
		||||
    switch (vif & MBUS_DIB_VIF_WITHOUT_EXTENSION) // ignore the extension bit in this selection
 | 
			
		||||
    {
 | 
			
		||||
        // E000 0nnn Energy 10(nnn-3) W
 | 
			
		||||
        case 0x00:
 | 
			
		||||
@@ -2175,8 +2175,8 @@ mbus_data_record_decode(mbus_data_record *record)
 | 
			
		||||
    u_char vif, vife;
 | 
			
		||||
    
 | 
			
		||||
    // ignore extension bit
 | 
			
		||||
    vif = (record->drh.vib.vif & 0x7F);       
 | 
			
		||||
    vife = (record->drh.vib.vife[0] & 0x7F);
 | 
			
		||||
    vif = (record->drh.vib.vif & MBUS_DIB_VIF_WITHOUT_EXTENSION);       
 | 
			
		||||
    vife = (record->drh.vib.vife[0] & MBUS_DIB_VIF_WITHOUT_EXTENSION);
 | 
			
		||||
 | 
			
		||||
    if (record)
 | 
			
		||||
    {
 | 
			
		||||
@@ -2691,9 +2691,10 @@ mbus_data_variable_parse(mbus_frame *frame, mbus_data_variable *data)
 | 
			
		||||
            // DIF
 | 
			
		||||
            record->drh.dib.dif = frame->data[i];
 | 
			
		||||
 | 
			
		||||
            if (record->drh.dib.dif == 0x0F || record->drh.dib.dif == 0x1F)
 | 
			
		||||
            if ((record->drh.dib.dif == MBUS_DIB_DIF_MANUFACTURER_SPECIFIC) || 
 | 
			
		||||
                (record->drh.dib.dif == MBUS_DIB_DIF_MORE_RECORDS_FOLLOW))
 | 
			
		||||
            {
 | 
			
		||||
                if ((record->drh.dib.dif & 0xFF) == 0x1F)
 | 
			
		||||
                if ((record->drh.dib.dif & 0xFF) == MBUS_DIB_DIF_MORE_RECORDS_FOLLOW)
 | 
			
		||||
                {
 | 
			
		||||
                  data->more_records_follow = 1;
 | 
			
		||||
                }
 | 
			
		||||
@@ -2733,7 +2734,7 @@ mbus_data_variable_parse(mbus_frame *frame, mbus_data_variable *data)
 | 
			
		||||
            // VIF
 | 
			
		||||
            record->drh.vib.vif = frame->data[i++];
 | 
			
		||||
            
 | 
			
		||||
            if ((record->drh.vib.vif & 0x7F) == 0x7C)
 | 
			
		||||
            if ((record->drh.vib.vif & MBUS_DIB_VIF_WITHOUT_EXTENSION) == 0x7C)
 | 
			
		||||
            {
 | 
			
		||||
                // variable length VIF in ASCII format
 | 
			
		||||
                int var_vif_len;
 | 
			
		||||
@@ -3214,7 +3215,8 @@ mbus_data_variable_print(mbus_data_variable *data)
 | 
			
		||||
            printf("DIF.Data      = %.2X\n", record->drh.dib.dif & 0x0F);
 | 
			
		||||
 | 
			
		||||
            // VENDOR SPECIFIC
 | 
			
		||||
            if (record->drh.dib.dif == 0x0F || record->drh.dib.dif == 0x1F) //MBUS_DIB_DIF_VENDOR_SPECIFIC)
 | 
			
		||||
            if ((record->drh.dib.dif == MBUS_DIB_DIF_MANUFACTURER_SPECIFIC) || 
 | 
			
		||||
                (record->drh.dib.dif == MBUS_DIB_DIF_MORE_RECORDS_FOLLOW)) //MBUS_DIB_DIF_VENDOR_SPECIFIC
 | 
			
		||||
            {
 | 
			
		||||
                printf("%s: VENDOR DATA [size=%zd] = ", __PRETTY_FUNCTION__, record->data_len);
 | 
			
		||||
                for (j = 0; j < record->data_len; j++)
 | 
			
		||||
@@ -3223,7 +3225,7 @@ mbus_data_variable_print(mbus_data_variable *data)
 | 
			
		||||
                }
 | 
			
		||||
                printf("\n");
 | 
			
		||||
                
 | 
			
		||||
                if (record->drh.dib.dif == 0x1F)
 | 
			
		||||
                if (record->drh.dib.dif == MBUS_DIB_DIF_MORE_RECORDS_FOLLOW)
 | 
			
		||||
                {
 | 
			
		||||
                  printf("%s: More records follow in next telegram\n", __PRETTY_FUNCTION__);
 | 
			
		||||
                }
 | 
			
		||||
@@ -3247,7 +3249,7 @@ mbus_data_variable_print(mbus_data_variable *data)
 | 
			
		||||
            // VIF
 | 
			
		||||
            printf("VIF           = %.2X\n", record->drh.vib.vif);
 | 
			
		||||
            printf("VIF.Extension = %s\n",  (record->drh.vib.vif & MBUS_DIB_VIF_EXTENSION_BIT) ? "Yes":"No");
 | 
			
		||||
            printf("VIF.Value     = %.2X\n", record->drh.vib.vif & 0x7F);
 | 
			
		||||
            printf("VIF.Value     = %.2X\n", record->drh.vib.vif & MBUS_DIB_VIF_WITHOUT_EXTENSION);
 | 
			
		||||
            
 | 
			
		||||
            // VIFE
 | 
			
		||||
            for (j = 0; j < record->drh.vib.nvife; j++)
 | 
			
		||||
@@ -3256,7 +3258,7 @@ mbus_data_variable_print(mbus_data_variable *data)
 | 
			
		||||
                
 | 
			
		||||
                printf("VIFE[%zd]           = %.2X\n", j,  vife);
 | 
			
		||||
                printf("VIFE[%zd].Extension = %s\n",   j, (vife & MBUS_DIB_VIF_EXTENSION_BIT) ? "Yes" : "No");
 | 
			
		||||
                printf("VIFE[%zd].Value     = %.2X\n", j,  vife & 0x7F);            
 | 
			
		||||
                printf("VIFE[%zd].Value     = %.2X\n", j,  vife & MBUS_DIB_VIF_WITHOUT_EXTENSION);            
 | 
			
		||||
            }
 | 
			
		||||
            
 | 
			
		||||
            printf("\n");
 | 
			
		||||
@@ -3468,12 +3470,12 @@ mbus_data_variable_record_xml(mbus_data_record *record, int record_cnt, int fram
 | 
			
		||||
                            "    <DataRecord id=\"%d\">\n", record_cnt);
 | 
			
		||||
        }
 | 
			
		||||
    
 | 
			
		||||
        if (record->drh.dib.dif == 0x0F) // MBUS_DIB_DIF_VENDOR_SPECIFIC
 | 
			
		||||
        if (record->drh.dib.dif == MBUS_DIB_DIF_MANUFACTURER_SPECIFIC) // MBUS_DIB_DIF_VENDOR_SPECIFIC
 | 
			
		||||
        {
 | 
			
		||||
            len += snprintf(&buff[len], sizeof(buff) - len, 
 | 
			
		||||
                            "        <Function>Manufacturer specific</Function>\n");                
 | 
			
		||||
        }
 | 
			
		||||
        else if (record->drh.dib.dif == 0x1F)
 | 
			
		||||
        else if (record->drh.dib.dif == MBUS_DIB_DIF_MORE_RECORDS_FOLLOW)
 | 
			
		||||
        {
 | 
			
		||||
            len += snprintf(&buff[len], sizeof(buff) - len, 
 | 
			
		||||
                            "        <Function>More records follow</Function>\n");
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user