Skip to main content
added 186 characters in body
Source Link
Juraj
  • 18.3k
  • 4
  • 32
  • 50

You can't do anything else with the RF calibration then to clean the flash area where it is stored. There are two reason for doing it:

First is reason to delete the RF calibration area is, if it was written by different version of Espressif SDK, including changing between AT firmware and Arduino. Then it is almost always wrong. I think they changed the data structure so some values are swapped.

Second reason is if the SDK did the calibration in wrong conditions like without antenna.

There is not much information about RF calibration. The FAQ has "Please erase the RF parameters to trigger overall calibration."

The AT firmware reference has (addresses for 4MB-C1):

  • blank.bin 0x3FB000 Initializes RF_CAL parameter area.
  • esp_init_data_default.bin 0x3FC000 Stores default RF parameter values, has to be downloaded into flash at least once. If the RF_CAL parameter area is initialized, this bin has to be downloaded too

The esp8266 Arduino core writes the data of esp_init_data_default.bin as part of the sketch's binary.

EDIT: the SDK does the 'digital calibration' at boot. it takes some microseconds. it is not done at every boot, but after some count of resets. this can be configured in the init section

You can't do anything else with the RF calibration then to clean the flash area where it is stored. There are two reason for doing it:

First is reason to delete the RF calibration area is, if it was written by different version of Espressif SDK, including changing between AT firmware and Arduino. Then it is almost always wrong. I think they changed the data structure so some values are swapped.

Second reason is if the SDK did the calibration in wrong conditions like without antenna.

There is not much information about RF calibration. The FAQ has "Please erase the RF parameters to trigger overall calibration."

The AT firmware reference has (addresses for 4MB-C1):

  • blank.bin 0x3FB000 Initializes RF_CAL parameter area.
  • esp_init_data_default.bin 0x3FC000 Stores default RF parameter values, has to be downloaded into flash at least once. If the RF_CAL parameter area is initialized, this bin has to be downloaded too

The esp8266 Arduino core writes the data of esp_init_data_default.bin as part of the sketch's binary.

You can't do anything else with the RF calibration then to clean the flash area where it is stored. There are two reason for doing it:

First is reason to delete the RF calibration area is, if it was written by different version of Espressif SDK, including changing between AT firmware and Arduino. Then it is almost always wrong. I think they changed the data structure so some values are swapped.

Second reason is if the SDK did the calibration in wrong conditions like without antenna.

There is not much information about RF calibration. The FAQ has "Please erase the RF parameters to trigger overall calibration."

The AT firmware reference has (addresses for 4MB-C1):

  • blank.bin 0x3FB000 Initializes RF_CAL parameter area.
  • esp_init_data_default.bin 0x3FC000 Stores default RF parameter values, has to be downloaded into flash at least once. If the RF_CAL parameter area is initialized, this bin has to be downloaded too

The esp8266 Arduino core writes the data of esp_init_data_default.bin as part of the sketch's binary.

EDIT: the SDK does the 'digital calibration' at boot. it takes some microseconds. it is not done at every boot, but after some count of resets. this can be configured in the init section

deleted 93 characters in body
Source Link
Juraj
  • 18.3k
  • 4
  • 32
  • 50

You can't do anything else with the RF calibration then to clean the flash area where it is stored. There are two reason for doing it:

First is reason to delete the RF calibration area is, if it was written by different version of Espressif SDK, including changing between AT firmware and Arduino. Then it is almost always wrong. I think they changed the data structure so some values are swapped.

Second reason is if the SDK did the calibration in wrong conditions like without antenna.

There is not much information about RF calibration. The FAQ has "Please erase the RF parameters to trigger overall calibration."

The AT firmware reference has (addresses for 4MB-C1):

  • blank.bin 0x1FB0000x3FB000 Initializes RF_CAL parameter area.
  • esp_init_data_default.bin 0x1FC0000x3FC000 Stores default RF parameter values, has to be downloaded into flash at least once. If the RF_CAL parameter area is initialized, this bin has to be downloaded too

And the technical reference for esp8266 writes something about it, but I have to find it.

The esp8266 Arduino core writes the data of esp_init_data_default.bin as part of the sketchsketch's binary.

You can't do anything else with the RF calibration then to clean the flash area where it is stored. There are two reason for doing it:

First is reason to delete the RF calibration area is, if it was written by different version of Espressif SDK, including changing between AT firmware and Arduino. Then it is almost always wrong. I think they changed the data structure so some values are swapped.

Second reason is if the SDK did the calibration in wrong conditions like without antenna.

There is not much information about RF calibration. The FAQ has "Please erase the RF parameters to trigger overall calibration."

The AT firmware reference has:

  • blank.bin 0x1FB000 Initializes RF_CAL parameter area.
  • esp_init_data_default.bin 0x1FC000 Stores default RF parameter values, has to be downloaded into flash at least once. If the RF_CAL parameter area is initialized, this bin has to be downloaded too

And the technical reference for esp8266 writes something about it, but I have to find it.

The esp8266 Arduino core writes the data of esp_init_data_default.bin as part of the sketch.

You can't do anything else with the RF calibration then to clean the flash area where it is stored. There are two reason for doing it:

First is reason to delete the RF calibration area is, if it was written by different version of Espressif SDK, including changing between AT firmware and Arduino. Then it is almost always wrong. I think they changed the data structure so some values are swapped.

Second reason is if the SDK did the calibration in wrong conditions like without antenna.

There is not much information about RF calibration. The FAQ has "Please erase the RF parameters to trigger overall calibration."

The AT firmware reference has (addresses for 4MB-C1):

  • blank.bin 0x3FB000 Initializes RF_CAL parameter area.
  • esp_init_data_default.bin 0x3FC000 Stores default RF parameter values, has to be downloaded into flash at least once. If the RF_CAL parameter area is initialized, this bin has to be downloaded too

The esp8266 Arduino core writes the data of esp_init_data_default.bin as part of the sketch's binary.

Source Link
Juraj
  • 18.3k
  • 4
  • 32
  • 50

You can't do anything else with the RF calibration then to clean the flash area where it is stored. There are two reason for doing it:

First is reason to delete the RF calibration area is, if it was written by different version of Espressif SDK, including changing between AT firmware and Arduino. Then it is almost always wrong. I think they changed the data structure so some values are swapped.

Second reason is if the SDK did the calibration in wrong conditions like without antenna.

There is not much information about RF calibration. The FAQ has "Please erase the RF parameters to trigger overall calibration."

The AT firmware reference has:

  • blank.bin 0x1FB000 Initializes RF_CAL parameter area.
  • esp_init_data_default.bin 0x1FC000 Stores default RF parameter values, has to be downloaded into flash at least once. If the RF_CAL parameter area is initialized, this bin has to be downloaded too

And the technical reference for esp8266 writes something about it, but I have to find it.

The esp8266 Arduino core writes the data of esp_init_data_default.bin as part of the sketch.