• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

SDK 1.1.1

pvvx

Активный участник сообщества
esp_iot_sdk_v1.1.1_15_06_05 (Пт 5 июня 2015 9:17 вечера)
http://bbs.espressif.com/viewtopic.php?f=5&t=554

Решены проблемы (ошибки из программы для Баунти (для "телепузиков")):
1. Задание слишком короткого периода таймера в os_arm_timer_us, приводящего к перезагрузке. [Томми]
2. Вызова os_malloc при малом 'heap' может привести к аварии. [MeneerThijs]
3. Утечки памяти когда сбой подключения SSL. [孙新虎]

Оптимизация:
1. JSON синтаксический анализ дополнительных исключений и информированности при не корректных параметрах.
2. Обновление вызывает функцию user_esp_platform_check_ip в параметре user_websever.c в IOT_Demo.
3. Обновление драйвера UART для решения проблемы при постоянной отправке данных в последовательный порт UART.
4. Smartconfig обновление до версии 2.2, мобильный APP v0.3.2. И обновление описание и пример smartconfig_start в документе «Руководство 2C_ESP8266__Programming»
5. Обновление кода в iram для решения проблемы, что пространство для текста недостаточно.
6. Обновлен драйвер PWM и выделен в отдельный libpwm.a в esp_iot_sdk, обновление PWM API в «Справочник 2C_ESP8266__Programming», более подробно в «Добавил API» ниже.
7. Исправлен сбой отправки многоадресных пакетов в режиме softAP ESP8266.
8. Обновление папки «driver», добавить папку «driver_lib» в \esp_iot_sdk\examples, добавить «hw_timer.c» о frc1 аппаратного таймера.
9. Удаление бесполезного кода драйверов в IOT_Demo
10. Обновление IOT_Demo для использования последней версию драйвера PWM.
11. Создана отдельная версия liblwip_536.a, в которой MSS имеет размер 536 байт.
12. Пересмотренный вопрос загрузки при опции SPI 80 МГц.
13. Обновление esp_init_data_default.bin с RF параметрами в \esp_iot_sdk\bin

Добавлен API:
1. ШИМ API:
Обновлено: pwm_init, добавлен параметр для задания канала ШИМ и GPIO pin
Добавлено:
(1) информацию о PWM драйвер версии get_pwm_version:get
период PWM (2) pwm_set_period:set
период PWM (3) pwm_get_period:get
Удалены:
(1) частота ШИМ pwm_set_freq:set
Частота PWM (2) pwm_get_freq:get
2.Read/записи Flash-с защитой
(1) system_param_save_with_protect:write данные в приложение flash с резервной защиты
(2) system_param_load:read данные, которые сохраняются в flash с резервной защиты
3.system_get_rst_info:Get информация о текущем запуске, это нормальный запуск или WDT. struct rst_info представлен в документе «Руководство 2C_ESP8266__Programming»
4.at_response: задает ответ на выходе
5.at_register_response_func: зарегистрировать настраиваемый ответ функции at_response
6. Обновлен документ «руководство 2C_ESP8266__Programming» на определение прерываний в ets_sys.h

Примечание по версии AT_v0.25:

Примечание: Для микропрограммы для поддержки FОТА, флэш-размер должны быть 1024 КБ или больше.

Оптимизация:
1. Добавлен параметр о локальный порте UDP в команде «AT + SAVETRANSLINK»

Добавлено в команду:
1. AT+CIPDINFO: отображать удаленный IP и удаленный порт информацию с "+IPD" или нет.
 
Последнее редактирование:

pvvx

Активный участник сообщества
Отличия от SDK 1.1.0 в базовых библиотеках, которые я использую: (libpp.a, libwpa.a, libnet80211.a, куски из libphy.a, eagle_lib.o, mem_manager.o, user_interface.o).
Увеличен размер занимаемой памяти RAM в SDK:
1) на таблицу Таймеров (перенесены из области занятой ROM-BIOS в основную пользовательскую память по кляузе от баунти - Томми - говорилось же не писать им больше об ошибках! Теперь всё связанное с таймерами перенесено из ROM-BIOS в либы! Можно было исправить и самому ) libmain.a:ets_timer.o
2) на всякую новую никому не нужную фигню - от 200 байт (это только в базовых, самых необходимых кусках от библитек Espressif)
Уменьшен размер занимаемой памяти IRAM на ~600 байт - поставили атрибут ICACHE_FLASH_ATTR у никому не нужных функций.

Из хорошего - выкинут PWM в отдельную либу, но вектора прерываний и их обработчики c отладчиками (дублирующие код ROM-BIOS) для него так и остались в iram и увеличились в размерах, что для обычных пользователей, не обгрызающих либы на необходимые куски (obj), засунуто в libmain.a.

По пунктам:
1. JSON - увеличен код для задающих неверно параметры.
2. Только для примера IOT_Demo
3. Этот драйвер не используется ни в одном стороннем ПО (в open-source прошивках)
4. Smart для данного чипа не требуется - у него достаточно ресурсов самому подключиться и предоставить любой нормальный интерфейс.
5. Ещё китай-программер забыл у многих процедур выставить ICACHE_FLASH_ATTR, особенно у локальных, т.к. расставлял в хидерах.
6. Никому не нужен данный софтовый PWM - включите штатный аппаратный в чипе - зачем он там болтается?
7. Сбой опять в espconn? :) Её уже никто не использует.
8. Это такая китай-оптимазе - не вписать самим в IOT_Demo, а заствить пользователя переписывать самому папки :)
9. Лучше вообще удалить IOT_Demo, а дать исходники на остатки.
10. Всё равно IOT_Demo и есть demo - она только для демы, т.к. багов много.
11. Кому нужны такие короткие пакеты? Это по причине - китай-программера не умеет писать и от этого не хватает памяти для нормальных пакетов :)
12. Разделение на 2 flash, того, что можно запихать в одну всегда приводит к проблемам, тем более это отняло обе SPI и потребовалось написать новые драйверы, заместо использования кода ROM-BIOS. Т.е. потребовалось увеличить код всех прошивок :)
13. Сравнение файлов ESP_IOT_SDK_V1.1.1\BIN\esp_init_data_default.bin и ESP_IOT_SDK_V1.1.0\BIN\esp_init_data_default.bin:
00000070: 03 00 (=3?: auto measure frequency offset and correct it, bbpll is 160M, it only can correct + frequency offset.)

Добавлено:
1. ШИМ API. Софтовый ШИМ, дергающий ножкой по таймеру.
2. Чтение/Запись c защитой.
Ранее, в старых SDK это была функция wifi_param_save_protect(), теперь переименовали.
Протирает дырку в flash, т.к. после записи в сектор -2 или -3 от конца flash, переписывает последний сектор и пишет туда контрольную сумму, составленную в system_get_checksum() путем суммы байт с xor 0xEF. Крутая контролька :)
При изменении практически любых параметров WiFi последний сектор flash с контролькой стирается и переписывается 2 раза, чтобы flash быстрее вышла из строя.
3. system_get_rst_info - содрали у меня , а сохранение регистров в структуру и в память RTC существует с SDK 0.9.x.
4. далее ерунда всякая для кривого AT ....
 
Последнее редактирование:

pvvx

Активный участник сообщества
а не подскажите где про аппаратный pwm почитать?
На данном форуме - ШИМ :)
Он описан в хидерах о регистрах I/O и в xls, да найден на просторах инета в 2014 году

Известно и работает это https://github.com/pvvx/esp8266web/blob/master/app/driver/sigma_delta.c , но так и никто до конца не разобрался с правильной установкой duty и prescaler.
 
Последнее редактирование:
Сверху Снизу