Ejemplo n.º 1
0
static ssize_t lge_cable_adc_show(struct device *dev,
		struct device_attribute *attr, char *buf)
{
#if defined(CONFIG_MACH_MSM8960_L1m)
	uint32_t battery_info_get(void);
	uint32_t BAT_ID_temp;
#endif
	struct lgeusb_dev *usbdev = _lgeusb_dev;
    struct chg_cable_info info;

	if (usbdev->get_cable_adc)
		usbdev->get_cable_adc(&info);
	else
	    return -1;

	if(info.cable_type >= NO_INIT_CABLE && info.cable_type <=CABLE_NONE)
		
#if defined(CONFIG_MACH_MSM8960_L1m)
		{
		BAT_ID_temp = battery_info_get();					//20120904 Checking Battery ID (from EEPROM)
        return sprintf(buf, "%s:TA(%d)USB(%d)ADC(%d)TH(%d), BAT_ID(%d)\n", (char*)strCable[info.cable_type], info.ta_ma, info.usb_ma, info.adc, info.threshould, BAT_ID_temp); /*20120904 added battery id*/
		}
#else
		{
        return sprintf(buf, "%s:T(%d)U(%d)A(%d)(%d)", (char*)strCable[info.cable_type], info.ta_ma, info.usb_ma, info.adc, battery_info_get);
		}
#endif
    else
        return -1;
Ejemplo n.º 2
0
static void lm3530_set_main_current_level(struct i2c_client *client, int level)
{
	struct lm3530_device *dev;
	int cal_value;
	int min_brightness 		= main_lm3530_dev->min_brightness;
	int max_brightness 		= main_lm3530_dev->max_brightness;

	dev = (struct lm3530_device *)i2c_get_clientdata(client);
	dev->bl_dev->props.brightness = cur_main_lcd_level = level;

	mutex_lock(&main_lm3530_dev->bl_mutex);

	if(level!= 0){
		if (level <= MIN_LEVEL)
			cal_value = min_brightness;
		else if(level > MIN_LEVEL && level < MAX_LEVEL_BL)
			cal_value = level;
		else if(level >=MAX_LEVEL_BL)
			cal_value = max_brightness;

#ifdef CONFIG_LGE_PM_FACTORY_CURRENT_DOWN
		if((0 == battery_info_get())&&((usb_cable_info == 6) ||(usb_cable_info == 7)||(usb_cable_info == 11)))
		{
			cal_value = min_brightness;
		}
#endif

		lm3530_write_reg(client, 0xA0, cal_value);
		printk ("level=%d,cal_value=%d\n",level,cal_value);
	}
	else{

		lm3530_write_reg(client, 0x10, 0x00);
	}	

	mutex_unlock(&main_lm3530_dev->bl_mutex);
}
Ejemplo n.º 3
0
int16_t battery_get_parameter_value(uint8_t parameter)
{
	uint16_t value;

	os_enterCS();

	switch(parameter)
	{						
	case MODEL_TYPE:		value = 1;			break;
	case PROGRAM_REV:		value = 530;			break;
	case PAR_TAB_REV:		value = 530;			break;
	
	case NENNSPNG:			value = 35520;			break;
	case NENNSTROM:			value = 2500;			break;
	case SERIE_NUMMER:		value = 11178;			break;
	case REP_DATUM: 		value = 0;			break;
	case STANDZEIT:			value = 64;			break;
	case FAHR_LADE_ZEIT:		value = 9;			break;
	case LAST_ERROR:		value = 0;			break;
	case BUS_ADRESSE:		value = battery.address;	break;

	case DRIVE_STATE:		value = plc_get_drive_state();	break;
	case COMMAND:			value = !battery_info_get(BAT_REL_OPEN);	break;
	case PARAM_PROT:		value = 0;					break;

	case BINFO:			value = battery_get_info();	break;
	
	// We simulate 3 batteries. Thus each of them reports one third of the real value.
	case IST_STROM:			value = 0;	break;
	case LADESTROM:			value = 400;			break;
	case FAHRSTROM:			value = -800;			break;
	case TOTAL_SPANNUNG:		value = 0;			break;
	case SOLL_LADESPG:		value =	40000;			break;
	
	 // We simulate 3 batteries. Thus each of them reports one third of the real value.
	case AH_ZAEHLER:		value = battery.ah_counter;	break;
	case Q:				value = -1400;					break;
	case LEISTUNG:			value = 0;			break;
	case BATTERIE_TEMP:		value = 0;	break;
	case FINFO:			value = 0;					break;
	case SYM_SPANNUNG:		value = 26;					break;
				
	case TEILSPANNUNG1:		value = 5100;	break;
	case TEILSPANNUNG2:		value = 5100;	break;
	case TEILSPANNUNG3:		value = 5100;	break;
	case TEILSPANNUNG4:		value = 5100;	break;
	case TEILSPANNUNG5:		value = 5100;	break;
	case TEILSPANNUNG6:		value = 5100;	break;
	case TEILSPANNUNG7:		value = 5100;	break;
	
	case TEMPERATUR1:		value = battery.temperatur_1;	break;
	case TEMPERATUR2:		value = battery.temperatur_2;	break;
	case TEMPERATUR3:		value = battery.temperatur_3;	break;
	case TEMPERATUR4:		value = battery.temperatur_4;	break;
	case TEMPERATUR5:		value = battery.temperatur_5;	break;
	case TEMPERATUR6:		value = battery.temperatur_6;	break;
	case TEMPERATUR7:		value = battery.temperatur_7;	break;
	case TEMPERATUR8:		value = battery.temperatur_8;	break;
	case TEMPERATUR9:		value = battery.temperatur_9;	break;
	case TEMPERATUR10:		value = battery.temperatur_10;	break;
	case TEMPERATUR11:		value = battery.temperatur_11;	break;
	case TEMPERATUR12:		value = battery.temperatur_12;	break;
	case TEMPERATUR13:		value = battery.temperatur_13;	break;
	case TEMPERATUR14:		value = battery.temperatur_14;	break;
			
	case PC_CALIBR_TEMP:		value = 0x5678;			break;
	case MAX_BAT_TEMP:		value = 0;	break;
	case UMGEBUNGS_TEMP:		value = 0;		break;
	case MAX_LADETEMP:		value = 4500;			break;
	case MIN_LADETEMP:		value = 0;			break;
	case MAX_FAHRTEMP:		value = 4500;			break;
	case MIN_FAHRTEMP:		value = 0;			break;
	case MAX_LAGERTEMP:		value = 4500;			break;
	case MIN_LAGERTEMP:		value = 0;			break;

	case MAX_KAPAZITAET:		value = 305;	break;
	case MIN_KAPAZITAET:		value = 280;	break;
	case GELADENE_AH:		value = 0;	break;
	case ENTLADENE_AH:		value = 0;	break;
	case LADEZYKLEN:		value = 0;		break;
	case TIEFENTLADE_ZYKLEN:	value = 0;	break;
	
	case MAX_ENTLADE_STROM:		value = -800;	break; // Times 3 blocks -> 24A
				
	case ZYKLUS_UEBER_110:		value = 0;	break;
	case ZYKLUS_UEBER_100:		value = 0;	break;
	case ZYKLUS_UEBER_90:		value = 0;	break;
	case ZYKLUS_UEBER_80:		value = 0;	break;
	case ZYKLUS_UEBER_70:		value = 0;	break;
	case ZYKLUS_UEBER_60:		value = 0;	break;
	case ZYKLUS_UEBER_50:		value = 0;	break;
	case ZYKLUS_UEBER_40:		value = 0;	break;
	case ZYKLUS_UEBER_30:		value = 0;	break;
	case ZYKLUS_UEBER_20:		value = 0;	break;
	case ZYKLUS_UEBER_10:		value = 0;	break;
	case ZYKLUS_UNTER_10:		value = 0;	break;

	case MAX_UEBERLADUNG:		value = 850;	break;
	case MIN_LDG_F_VOLL:		value = -500;	break;
	case STROM_ZUNAHME:		value = 40;	break;
	case MAX_LADE_SPG:		value = 40000;	break;
	case MIN_LADE_TEMP:		value = 0;	break;
	case MAX_LADE_TEMP:		value = 4500;	break;
	case MAX_TEMP_ZUNAHME:		value = 100;	break;
	case MAX_LADEZEIT:		value = 800;	break;
	case SYMMETRIER_STROM:		value = 28;	break;

	case LADE_STR_UNTER_M10:	value = 56;	break;
	case LADE_STR_UEBER_M10:	value = 56;	break;
	case LADE_STR_UEBER_P00:	value = 280;	break;
	case LADE_STR_UEBER_P10:	value = 280;	break;
	case LADE_STR_UEBER_P20:	value = 280;	break;
	case LADE_STR_UEBER_P30:	value = 280;	break;
	case LADE_STR_UEBER_P40:	value = 79;	break;
	case LADE_STR_UEBER_P45:	value = 28;	break;
	case LADE_STR_UEBER_P50:	value = 28;	break;
			
	case LADE_SPG_UNTER_M10:	value = 40000;	break;
	case LADE_SPG_UEBER_M10:	value = 40000;	break;
	case LADE_SPG_UEBER_P00:	value = 40000;	break;
	case LADE_SPG_UEBER_P10:	value = 40000;	break;
	case LADE_SPG_UEBER_P20:	value = 40000;	break;
	case LADE_SPG_UEBER_P30:	value = 40000;	break;
	case LADE_SPG_UEBER_P40:	value = 37440;	break;
	case LADE_SPG_UEBER_P45:	value = 36480;	break;
	case LADE_SPG_UEBER_P50:	value = 35520;	break;
			
	case NOM_KAPAZITAET:		value = 3;	break;
	case MIN_FAHR_SPANNUNG:		value = 31000;	break;
	case SELBST_ENTL_STROM:		value = 28000;	break;
	case TIEFENTLADE_SPG:		value = TIEFENTLADE_SPANNUNG;	break;
	case MAX_SPANNUNG_DIFF:		value = 500;	break;
	case MIN_FAHR_TEMP_B:		value = -2500;	break;
	case MAX_FAHR_TEMP_B:		value = 6000;	break;
	case MAX_FAHR_STROM:		value = -1000;	break;
	
	case AD_STROM:			value = 0x817F;	break;
	
	case KAL_TEMP_7_6:		value = 0xFFFF;	break;
	case KAL_TEMP_5_4:		value = 0xFEFD;	break;
	case KAL_TEMP_3_2:		value = 0xFCFD;	break;
	case KAL_TEMP_1_AMB:		value = 0x00FE;	break;
	case KAL_TEMP_GD_14:		value = 0x7C00;	break;
	case KAL_TEMP_13_12:		value = 0x00FF;	break;
	case KAL_TEMP_11_10:		value = 0xFE00;	break;
	case KAL_TEMP_9_8:		value = 0x0002;	break;

	case SENSOR_MASK:		value = 0x0000;	break;
			
	case OFFS_KLEIN_STL:		value = 1508;	break;
	case OFFS_GROSS_STL:		value = 12523;	break;
	case KALIB_SPG_1:		value = 0x00A3;	break;
	case KALIB_SPG_2:		value = 0x009F;	break;
	case KALIB_SPG_3:		value = 0x00A6;	break;
	case KALIB_SPG_4:		value = 0x00B1;	break;
	case KALIB_SPG_5:		value = 0x007C;	break;
	case KALIB_SPG_6:		value = 0x00A7;	break;
	case KALIB_SPG_9:		value = 0x00A7;	break;
			
	case DEBUG_VALUE_C:		value = 22498;	break;
	case DEBUG_VALUE_H:		value = 0x57E2;	break;
	case DEBUG_VALUE_ADDR:		value = 0xFFFF;	break;

	case GESCHWINDIGKEIT:		value = 0;	break;
	case TAGESKILOMETER:		value = 0;	break;
	
	default:
		value = 0x0000;
		error(ERROR_UNKNOWN_PARAMETER);
	}

	os_exitCS();

	return value;
}