Index: trunk/fw_g473rct/SES/inc/doku.h
===================================================================
--- trunk/fw_g473rct/SES/inc/doku.h	(revision 25)
+++ trunk/fw_g473rct/SES/inc/doku.h	(revision 26)
@@ -2,5 +2,11 @@
 
 Neue Version für smartPro
-
+- Neuer Modus UbattEmpty voltage AUTO Mode. Aktivierung durch 0mV in Register 45
+- Zusätzliche Anzeige von PowerFast mit den gleichzeitig gesampleten Werten von Current Fast und Batterie Voltage fast
+- Änderung auf externen EEPROM für Parameter Speicherung
+- Änderung auf Laufzeitvariablen werden jede Sekunde imm backup Register gesichert.
+- RS485 Kommunikation mit DMA Mode
+- Bessere ADC Werte, Spannungsmessung
+- High Speed ESr Methode überarbeitet, nimmt jetzt daten direkt aus dem ADC DMA Array, Strom und Spannung werden gleichzeitig gesampelt,
 - VDD muss jetzt nicht mehr berechnet werden, da wir eine echte Referenz haben. Deshalb entfällt die Anzeige im Register 101. Diese wurde ersetzt durch die
   Spannung der neuen Backup Batterie
Index: trunk/fw_g473rct/SES/inc/fast_current.h
===================================================================
--- trunk/fw_g473rct/SES/inc/fast_current.h	(revision 25)
+++ trunk/fw_g473rct/SES/inc/fast_current.h	(revision 26)
@@ -37,4 +37,6 @@
 //--- GLOBALE FUNKTIONS PROTOTYPEN ---------------------------------------------
 void FAST_CURRENT_Exec(uint32_t newVal );
+void CurrentOffsetCal(uint32_t newVal);
+void CurrentGainCal(uint32_t newVal);
 
 #endif //
Index: trunk/fw_g473rct/SES/inc/sysdata.h
===================================================================
--- trunk/fw_g473rct/SES/inc/sysdata.h	(revision 25)
+++ trunk/fw_g473rct/SES/inc/sysdata.h	(revision 26)
@@ -19,5 +19,5 @@
 #define UNIQUE_NAME(base) CONCAT(base, __COUNTER__)								// according to template "baseX", like "base1", "base2" and etc.
 
-#define SAMPLE_ARRAY_SIZE 32
+#define SAMPLE_ARRAY_SIZE 64
 
 //------------------------------------------------------------------------------
@@ -58,5 +58,5 @@
 	uint16_t ibn_year;															// 16	Inbetriebnahme Datum: Jahr
 	uint16_t user_id;															// 17	Freies Feld für eine Kunden ID oder ähnlich
-	uint16_t test[8];											// 18-25	RESERVIERT
+	uint16_t test[8];															// 18-25	RESERVIERT
 
 	//--- Konfiguration Schaltausgänge ---
@@ -103,7 +103,6 @@
 	int16_t	 extraDischargeStrom_mA;											// 56
 	uint16_t cefW;																// 57		CeF for Wh calculations
-	uint16_t lvpMode;															// 58-59	RESERVIERT
-	uint16_t ovpMode;															// 58-59	RESERVIERT
-
+	uint16_t lvpMode;															// 58	
+	uint16_t ovpMode;															// 59	
 	// ------- Calibration Parameter -----
 	int32_t batteryCurrentOffset;												// 60-61	Offset bei Raumtemperatur ADC Schritte
@@ -119,5 +118,5 @@
 	int32_t batteryCurrentOffsetTemperatureCompensationFactor;					// 72-73	Berechnete Temperatur Kompensation für Strom Offset
 
-	int32_t batteryCurrentGainCorrectionFaktor;									// 74-75	Gain Korrektur Faktor * 1000000
+	uint32_t batteryCurrentGainCorrectionFaktor;								// 74-75	Gain Korrektur Faktor * 1000000
 	int16_t batteryCurrentGainRefTempShunt;										// 76		Gesicherte Temperatur Shunts bei Gain Kallibrierung
 	int16_t batteryCurrentGainRefTempChip;										// 77		Gesicherte Temperatur Chip bei Gain Kallibrierung
@@ -129,7 +128,9 @@
 	int16_t batteryCurrentGainTemperatureCalibrationChipTemperature;			// 84		Gesicherte Chip Temperatur bei Start der Gain Temperatur Kompensation
 	int16_t UNIQUE_NAME(reserved);												// 85		reserviert
-	int32_t batteryCurrentGainTemperatureCompensationChipFactor;				// 86-87	zustzlicher Kalibrierungsfaktor, nicht in Verwendung
-
-	uint32_t UNIQUE_NAME(reserved)[6];
+	int32_t batteryCurrentGainTemperatureCompensationChipFactor;				// 86-87	zuszätzlicher Kalibrierungsfaktor, nicht in Verwendung
+	int32_t batteryCurrentOffsetFast;											// 88-89	Korrektur in STM32 ADC Messung Gain, Strommessung
+	uint32_t batteryCurrentGainCorrectionFaktorFast;							// 90-91	Korrektur in STM32 ADC Messung Gain, Strommessung
+	int16_t batteryEmptyDetectionMode;											// 92		0= Alt, Nach Batteriespannungsmessung von greenmeter, 1= Neu Auto BMS Mode, Erkennung mit LVP Leitung, geht erst ab smartPro Hardware
+	uint16_t UNIQUE_NAME(reserved)[7];
 
 } device_parameter_t;
@@ -181,5 +182,5 @@
 	/* 4 of 8 */ int32_t  mWh_AutoMode;											// 164-165
 	/* 6 of 8 */ uint16_t UNIQUE_NAME(reserved);								// 166
-	/* 8 of 8 */ uint16_t UNIQUE_NAME(reserved);								// 167
+	/* 8 of 8 */ uint16_t UNIQUE_NAME(reserved);								// 167r
 	/* 2 of 8 */ uint16_t ovp_sense;                                            // 168
 	/* 4 of 8 */ uint16_t lvp_sense;                                            // 169
@@ -200,6 +201,6 @@
 	/* 2 of 8 */ uint16_t uBatEmptyTempComp;									// 192		[mV]
 	/* 4 of 8 */ uint16_t adc_restarts;											// 193
-	/* 6 of 8 */ int16_t  UNIQUE_NAME(reserved);								// 194		Reserviert
-	/* 8 of 8 */ int16_t  UNIQUE_NAME(reserved);								// 195		Reserviert
+	/* 6 of 8 */ int32_t  power_Fast;											// 194		Reserviert
+	/* 8 of 8 */// int16_t  UNIQUE_NAME(reserved);								// 195		Reserviert
 	/* 4 of 8 */ int32_t  battryCurrentRaw;										// 196-197	Gemessener Strom in ADC Schritte Ohne Korrekturen
 	/* 8 of 8 */ int32_t  batteryCurrentOffsetCommonModeCorrectionADCSteps;		// 198-199	Offset Korrektur Wert aufgrund Common Mode Error
@@ -211,8 +212,8 @@
 	/* 6 of 8 */ uint16_t selfDischargeTime;									// 207
 	/* 8 of 8 */ uint8_t  message[20];											// 208-219	ASCII-char message, limited to 20 letters
-	/* 4 of 8 */ int32_t  current_buffer[SAMPLE_ARRAY_SIZE];					// 220-283
-	/* 8 of 8 */ int32_t  voltage_buffer[SAMPLE_ARRAY_SIZE];					// 284-347
-	/* 4 of 8 */ int32_t  current_buffer_fast[SAMPLE_ARRAY_SIZE];				// 348-411
-	/* 8 of 8 */ int32_t  voltage_buffer_fast[SAMPLE_ARRAY_SIZE];				// 412-475
+	/* 4 of 8 */ int16_t  current_buffer[SAMPLE_ARRAY_SIZE];					// 220-283
+	/* 8 of 8 */ int16_t  voltage_buffer[SAMPLE_ARRAY_SIZE];					// 284-347
+	/* 4 of 8 */ int16_t  current_buffer_fast[SAMPLE_ARRAY_SIZE];				// 348-411
+	/* 8 of 8 */ int16_t  voltage_buffer_fast[SAMPLE_ARRAY_SIZE];				// 412-475
 
 } device_values_t;
