Parameter values change when loading or upgrading head NVS


Product

 
  • Devices with a Thermal 1.x head and an MPE

Component

 

MPE firmware


Error

 

NVS parameters in the head, hdp, hdm, servo_stat, or hms subsystems are set to default when executing the 'nvs load < subsystem>' or 'nvs upgrade head < version>' commands.


Symptoms

 

This happens only when the original parameter value is 0xFFFF in hex. For unsigned integers 0xFFFF is equivalent to 65535, for signed integers 0xFFFF is equivalent to -1, for unsigned rational numbers 0xFFFF is equivalent to 65.535, and for signed rational numbers 0xFFFF is equivalent to -0.001. Following an nvs load < subsystem> command, only the 'active' copy will be set to default in both the head and the MPE. However, following an nvs upgrade head < version> command, all changes are saved and must be manually cleared.


Cause

 

The default value of the 'active' copy of all MPE NVS parameters is 0xFFFF in hex. Therefore, an 'active' value of 0xFFFF serves as a flag that a parameter is unitialized. When a parameter is unitialized, the MPE will automatically set it to its default value. Because the head parameters are loaded from and used in the head, during normal operation a value of 0xFFFF will not be set to default. It is only when a parameter is loaded from the MPE's 'saved' copy, during an 'nvs load < subsystem>' or 'nvs upgrade head < version>' command, that any parameters will be reset.


Solution

 

Because this problem has existed in the MPE firmware for years, a firmware fix of this problem would be difficult and is not economically justifiable. Therefore, we must work around the problem. The majority of head parameters will never be set to 0xFFFF in hex. Also, for most parameters the difference between 0xFFFF and default is negligible. So, we wouldn't be particularly concerned about any changes to those parameter values.
The head values of primary concern include bmslope, bmcurve, bmslopen, and bmcurven in the hdm subsystem. When imaging using Staccato, even small changes to these parameters can affect image quality. Therefore, prior to upgrading head firmware, check these parameters in every copy of the hdm. If any of these parameters are set to -1, which corresponds to 0xFFFF for these parameters, they will be changed to 0 and saved. Therefore, once the firmware upgrade is complete you will need to manually reset these values to -1 and do an 'nvs save hdm'. The head firmware upgrade script will automatically restore all bmslope and bmcurve parameters beginning with head firmware version 1.8x.


See also

 

<%=htmlCedirLink(7578) %>

Technical contact(s)
 

Amber Strocel

Submitted by
 

Amber Strocel

Date submitted
 

12 Dec 2001