Chat freely about anything...

User avatar
By tve
#29362 In case you're not following the Espressif forums, they just released version 1.4.0 of the SDK: http://bbs.espressif.com/viewtopic.php?p=3756#p3756

The change log is pretty long and there are a couple of minor incompatibilities to take note of:

"Update esp_init_data_default.bin. Please use the newest esp_init_data_default.bin when burning."

"Modify the espconn pointer in the receive callback of UDP. Parameters remote_ip and remote_port in it are the remote IP and port set by espconn_create. If users want to obtain IP and ports of the current sender, please call espconn_get_connection_info to get relevant information."

Especially the first bullet means that an OTA update isn't going to get you all benefits :-(. Maybe someone can diff the old and new esp_init_data_default.bin so we can add the change to firmware?

Oh, almost forgot to add: there is now a force-sleep API, so no more guessing why the SDK doesn't power down the RF and such!

Update: docs at http://bbs.espressif.com/viewtopic.php?f=51&t=1024 and the SDK User Guide suggests on page 24 that the flash esp_init_data_default.bin change is most likely by 114 to determine whether RF calibration happens at boot time.
User avatar
By kriegste
#29386 The only difference is at byte 0x74 (114 decimal). This is documented (in ESP8266_RF_init.xls from the "flash download tool") as "rf_cal_use_flash":

0: RF init no RF CAL, using all RF CAL data in flash, it takes about 2ms for RF init
1: RF init only do TX power control CAL, others using RF CAL data in flash , it takes about 20ms for RF init
2: RF init no RF CAL, using all RF CAL data in flash, it takes about 2ms for RF init
3: RF init do all RF CAL, it takes about 200ms for RF init


The old (1.3.0) value is 0, the new value (1.4.0) is 2. Same result?? But there seems to be a new API to override this (system_phy_set_powerup_option).
User avatar
By scargill
#29603 Well, I went in and tested this and immediately came up with a problem...

In TUANPMs MQTT code - queue.c

void ICACHE_FLASH_ATTR QUEUE_Init(QUEUE *queue, int bufferSize)
{
queue->buf = (uint8_t*)os_zalloc(bufferSize);
RINGBUF_Init(&queue->rb, queue->buf, bufferSize);
}

That os_zalloc statement, which has worked on every version up to now, will no longer compile.

wrong number of arguments, apparently.