Todo List

Global FAST_RC_CAL
NOTE: the signature/fab.calibration bytes definitions assume Rev *E* silicon ONLY. Earlier revisions will require changes.

Global CalculateADCresults
Code could be added HERE to do something with the cell_current[] array, for the purpose of determining cell impedances.

Global CC_Accumulator_ISR
If using IAR3.20, the following lines need to be enabled and the one below disabled.

Global CCmode
See ANALOG.H to choose your interval for CC_ACCUMULATE

Global CCmode
See ANALOG.H to choose your interval for CC_REGULAR

Global Current1Sec
NOTE: This could produce a bad result within the first 1Sec of operation.

Global FullChgCap
This implementation does not take into account C/5 vs 1C capacity delta.

Global ReadTemperature
Insert calculations here to convert voltage reading(s) to temperature(s).

Global RemainingCap
This implementation does not take into account C/5 vs 1C capacity delta.

Global StartAdc
NOTE: If not using ADC0-3 exclusively as analog inputs, you MUST modify the following code.

Global __low_level_init
EXCEPTION: if the Watchdog flag is asserted, there is a POSSIBILITY that there's a problem with the App code image. It is left to the user to determine if this is the case and to take remedial action.

Global __low_level_init
Add code here to handle Wdog reset.

Global SMB_CmdInterpreter
Add code here if encryption is desired.

Global PinInit
Add code here for any special I/O initialization required.

Global CELL_DESIGNCAPTYP
This file must be modified for your particular individual primary cell.

Global ChargeCheck
Whenever you move 2X the capacity, either into or out of the pack, you are supposed to increment the CycleCount variable. You do NOT have to have hit both FULL and EMPTY limits.

Global InitAll
Re-enable the Wdog for your final code. It is disabled here to allow debugging to take place without interference.

Global MasterSMBusCheck
Only a very basic charge control algorithm has been implemented. It uses the charge state to decide. It is up to the designer to implement a more sophisticated charging algorithm.

Global ThermalCheck
The following Cell temperature checking is disabled since it is left to the user to choose a specific Thermistor.

Global WdogMgr
This code can be made more sophisticated to prevent runaways

Global PACKWIDTH
Modify these settings to match the battery configuration in your design.

Global SafetyScan
Should be called periodically to double-check all h/w config & safety parameters

Global SafetyScan
You can add more safety-monitoring code here.

Global InitSMBvariables
This can be modified to load defaults from EEPROM rather than fixed values to the SMB variables.

Global InitSMBvariables
Fill in current year, month, day. Values are octal

Global InitSMBvariables
for testing, initialized value before reaching fully charged, 6600mAh * 10727

Global SMBR_DeviceChem
Modify as needed. __flash char defined in smbus.h

Global SMBR_DeviceName
Modify as needed. __flash char defined in smbus.h

Global SMBR_MfrData
Modify as needed. __flash char defined in smbus.h

Global SMBR_MfrDate
this value is filled in as const by init.

Global SMBR_MfrName
Modify as needed. __flash char defined in smbus.h

Global SMBR_Opt5
this value is defined as a constant here.

Global SMBR_SerialNo
this value is filled in as const by init.

Global SMBR_SpecInfo
this value is filled in as const by init.

Global T0_COMPB_ISR
Add code here if you need to PWM the Charging FETs to control average charge current.

Global T0CMPA_ISR
Some additional functionality could be added to allow the battery to wake up from all sleep modes when the pushbutton is pressed. Presently it only works when the pack is not in Hibernate mode.

Global WDT_ISR
Not used in this implementation

Generated on Mon Nov 12 15:59:59 2007 for AVR453 Smart Battery Reference Design by  doxygen 1.5.3