Menu

#1 Memory allocation does not consider RF errors.

open
nobody
None
5
2005-07-07
2005-05-11
Rick Ciervo
No

When using the GetDeviceDataSize API call, the returned value
does not take into account the fact that all RF error tokens will be
replaced by artificially created "true" data packets by the
GetDeviceData API. The tokens are small (2 bytes) and the packets
that replace them can be as long as 15 bytes, so it is possible that if
the Data Recorder contains a large amount of data that has a high
number of RF errors, the data returned by the GetDeviceData call
will exceed the memory allocation "suggestion" returned by the
GetDeviceDataSize call.

To workaround this problem, we suggest that the calling application
*double* the memory allocation that is returned by the
GetDeviceDataSize call. Since the entire EEPROM is 128K, this
can result in a RAM allocation of no more than 256K.

The recommendation to double the RAM allocation is probably very
conservative, but isn't it better to be safe than sorry?

A note will be put in the API document regarding this issue for the
next release.

Discussion

  • Rick Ciervo

    Rick Ciervo - 2005-07-01

    Logged In: YES
    user_id=1062933

    This was fixed in version 35.

     
  • Rick Ciervo

    Rick Ciervo - 2005-07-01
    • status: open --> closed-fixed
     
  • Rick Ciervo

    Rick Ciervo - 2005-07-07
    • labels: 737546 -->
    • status: closed-fixed --> open
     

Log in to post a comment.