During product Manufacturing we will not have access to EVM software or PRO screen. We are creating a stand alone production test unit based on a hacked version of our battery charger since it incorporates a micro and SMbus capabilities to interface with the battery packs. The main reason is to limit operator interaction with the flash file and gas gauge settings. We need to reset the lifetime max temperature prior to shipping the battery pack and were hoping to use the system flash page access to modify the lifetime temperature value. Understanding how the PRO screen worked may have helped us figure out how to retrieve the data we needed.
Question 1
We have similar version of the sample code for our application, but it appears not to work as indicated. Could we get the source code for the EVM2300 to help us figure out what is missing?
Question 2
What is the state of the battery to allow access and write with command 0x77 ?
When I use my code to read back the page using 0x73, I receive the correct data and can read and write other sections of the chip using these same functions.
battery_address = ADDRESS_SMART_BATTERY; // 0x16
command = DATA_FLASH_SUB_CLASS_ID_CMD; // 0x77
page_number = DATA_FLASH_SUB_CLASS_PAGE_1_CMD; // 0x78
sub_class = 0x0059;
bytes_to_read = 32;
// set to subclass
temp_char = write_SMBus_int( battery_address, command, sub_class);
Nop();
// read subclass ((((=== used this to verify read back of 0x0059)))))
// temp_int = read_SMBus_int( battery_address, command);
Nop();
Read_SMBus_String( battery_address, page_number, bytes_to_read);
Attached is a screen shot of the data received back from the above code and the correct data from 0x73
Question 2
Is there any special read/writes to allow these commands to operate.
Question 3
in sluu386.pdf Section C.1.4 page 102
Write is slave address 0x16 etc. same section page 103
Write is slave address 0x17 etc
Why the difference for almost the same thing?
screen shot good data:
Screen Shot Bad Data