View Single Post
Old 2013.02.08, 05:02 PM   #6
pinwc4
Registered User
 
pinwc4's Avatar
 
Join Date: Aug 2005
Posts: 913
Quote:
Originally Posted by TheSteve View Post
When you read/write the ICS data are you reading and writing specific bytes or is there an entire block of eeprom data?
When you read or write the data to the car it is the entire block of data, not individual values. For each of the cars so far it is has been 15 bytes of data, each byte representing a different thing that can be manipulated. Though there are 3 bytes out of that 15 that I do not know what they are, none of the other software manipulates them so most likely they are for future board revisions that will have more features.

Quote:
Originally Posted by TheSteve View Post
I also assume different cars have unique bits/bytes to indicate the model of car - MR03, MR03 with chase mode etc.
Nope, none of the data read or written to is specifically identifying the car model. I could infer it when reading since I know that there will be values in all but 3 bytes for the MR-03, whereas the dNaNo has 4 bytes it does not use and the ASF board had 6 bytes it did not use. However people could unintentionally write data to those bytes and that would make it impossible to tell. The board is not going to care if you write to a byte that it does not use, at least that has been my experience so far.

Quote:
Originally Posted by TheSteve View Post
The reason I ask all of this is when you swap an MR03 board into an AWD the steering throws are incorrect because the values from the servo pot are different. The different models must have a table or different programming to indicate the proper endpoints. I am wondering if its hard coded in flash or set via values in the eeprom, and if it is in the eeprom I am wondering if it could be altered via the ICS port (even if not intended to be by Kyosho)

If it could be changed then boards could be swapped between different car models without worrying about steering throws incorrect.
None of the known values written to the car impact the end points for the servo. I do not know much about the AWD but I would wonder if it possibly has a different type of resistor pot. Otherwise maybe the board has some hard coded values for the minimum and maximum resistance values it is looking for.

If you do want to play with it my ICS program lets you manually manipulate each byte that is written to the car. Click the advanced button to do that. There are 3 values on the screen labeled unknown, maybe they are steering related but I doubt it.
pinwc4 is offline   Reply With Quote