Home/Support/Support Forum/when calling anaOutCalib "Error reading/writing calibration factor" is returned
Welcome to Digi Forum, where you can ask questions and receive answers from other members of the community.

when calling anaOutCalib "Error reading/writing calibration factor" is returned

0 votes
It looks like my calibration flash for the D/A has been trashed. Is there any way to recover?

I also get -EPERM: "internal error writing to userID block" when calling subfs_create

Everything was working for months before we ran into this issue.

Board: BL4S200 SBC

More importantly though I need to figure out what caused the issue in the first place. My initial thought is that subfs_create overwrote some stuff it should not have. Not sure how to prove this. Any thoughts?
asked Nov 24, 2015 in Rabbit by Matt New to the Community (1 point)

Please log in or register to answer this question.

2 Answers

0 votes
Do you have more than one board?

You could try using the APIs to read the userblock on the trashed board, and compare the contents to the userblock on a working board.

Seeing the contents of what overwrote the calibration data might help you to understand what may have been responsible. Is subfs_create() configured to protect the area of flash used for calibration constants?
answered Nov 25, 2015 by TomCollins Veteran of the Digi Community (1,718 points)
0 votes
Tom Thanks for the suggestion. I'll look into it.
On a second board I ran into this while trying to program it:
line 19 : WARNING SYSCONFIG.LIB : _DC_CLK_DBL_ should always be defined, but was not defined:
line 20 : WARNING SYSCONFIG.LIB : Defined _DC_CLK_DBL_ to 0 (disabled clock doubler recommendation).
line 27 : ERROR BOARDTYPES.LIB : No ID Block found on the target board.
line 28 : ERROR BOARDTYPES.LIB : Please contact Rabbit Technical Support at http://www.digi.com/support for assistance.

As I dig deeper it looks like the flash is being written to excessively and I have crossed over the maximum number of writes ...

Or

I have a threading issue where the write of one file is interrupted with a write of another.

Or both.

BTW: Any way to recover from the above "No ID Block found on the target board." issue?
answered Nov 30, 2015 by Matt New to the Community (1 point)
Hello Matt, By default the modules has the ID block information in the memory.It seems like somehow the module lost the ID block. You can set the proper ID block by using the write_idblock_blxs2xx.c sample application.You can download this sample from the below link
http://www.digi.com/support/productdetail?pid=4978

Under "General Documentation" you can find the Rabbit-Write ID Block 10.70 download link.

I hope this helps you.
write_idblock_blxs2xx.c worked.  Thanks.
...