• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Недавнее содержимое от Perfer

  1. P

    Разработка ‘библиотеки’ малого webсервера на esp8266.

    Хорошо, но тогда назначение вот таких вызовов в init.c (LwIP): tcp_init(); udp_init(); raw_init(); когда объявлено что: #define raw_init() #define udp_init() #define tcp_init() не очень понятно
  2. P

    Разработка ‘библиотеки’ малого webсервера на esp8266.

    Поддерживаю идею pvvx создания FAQ по по коду/структуре проектов https://github.com/pvvx/MinEspSDKLib и https://github.com/pvvx/esp8266web. Привожу здесь свой список вопросов и ответов от pvvx (из лички) Вопрос: ROM-BIOS - почему так называется? по факту ведь обычный планировщик! Ответ (pvvx)...
  3. P

    Esp8266->spi->tft (ili9341) без внешнего mcu

    Удалось сократить паузу до 0,5us Попробуйте WRITE_PERI_REG(SPI_FLASH_CTRL1(HSPI), 0);
  4. P

    Esp8266->spi->tft (ili9341) без внешнего mcu

    1) и 2) проверьте на коде вроде этого: *spi_fifo = 0xFFFF; uint32_t bitcount = 2 * 8 - 1; WRITE_PERI_REG(SPI_FLASH_USER1(HSPI), (bitcount & SPI_USR_OUT_BITLEN) << SPI_USR_OUT_BITLEN_S); SET_PERI_REG_MASK(SPI_FLASH_CMD(HSPI), SPI_FLASH_USR); while (READ_PERI_REG(SPI_FLASH_CMD(HSPI)) &...
  5. P

    Esp8266->spi->tft (ili9341) без внешнего mcu

    А если без тролинга: 1) попробуйте не долбить HSPI постоянным выставлением бита на передачу и ждать окончания отправки содержимого буфера, хоть в начале хоть в конце. 2) проведите измерения на передачи двух двухбайтных сообщений, так будет чуть понятнее 3) если вам так нужна сверх...
  6. P

    Esp8266->spi->tft (ili9341) без внешнего mcu

    Уважаемый Sermus, поздравляю Вас с получением "железок", а также с Вашим даром находить упущения в коде и исправлять их! Расскажите нам всем, как вы смогли догадаться до аппаратного управления CS? Это немыслимо великолепный ход! Меня, да я думаю и не только меня, захватывают Ваши достижения в...
  7. P

    Как я тупил над оператором switch

    Тогда все понятно! :) Кстати, конструкцию вида z:blablabla(x,y); компилятор воспринимает как вызов функции blablabla(x,y) на которую указывает метка z. Поддержка меток в компиляторе от goto осталась.
  8. P

    Как я тупил над оператором switch

    Ок! А что означает в Си/Си++ конструкция вида: z: blablabla(x,y); break; Или здесь как-то вмешивается #define?
  9. P

    Esp8266->spi->tft (ili9341) без внешнего mcu

    Товарищ pvvx говорит не про факт наличия FIFO, а про его размер. Сегодня проверил что с значением MAX_SIZE_BUFFER = 64 тоже все работает и корректно отображается - правда кубик быстрее (с меньшим количеством рывков) крутиться не стал, а вот с оптимизацией функций setCol и setPos - стал...
  10. P

    Esp8266->spi->tft (ili9341) без внешнего mcu

    Спасибо за дамп памяти! Наличие FIFO у SPI известный факт, подробности неплохо описаны вот здесь http://bbs.espressif.com/download/file.php?id=109&sid=8dae87d845a00f473dba015b7265be2e
  11. P

    Esp8266->spi->tft (ili9341) без внешнего mcu

    А это привычка :) Согласен надо поправить Можно вообще от while уйти в сторону конструкций case/ifelse - получиться некий конечный автомат Я вот это портировал https://github.com/gmtii/ili9341-arduino
  12. P

    Esp8266->spi->tft (ili9341) без внешнего mcu

    В hspi.c не просто так оставлен закомментированный код - разберитесь что он делает, помниться он был рабочим, ток что-то до определить придется. Про слова и их кол-во почитайте еще описание в ESP8266 HSPI透传协议(2中断线).doc лежит в архиве по ссылке выше (переводить лучше на английский). Если кратко...
  13. P

    Esp8266->spi->tft (ili9341) без внешнего mcu

    1. Я сразу решил написать общий случай, а не дописывать потом обработку хвоста. За максимальной производительностью не гнался. Если вы проведете тесты и покажете что вами модифицированный код работает быстрее, то - wellcome, кидайте pull-request приму изменения 2. Хмм.... настойчивость это...
  14. P

    Esp8266->spi->tft (ili9341) без внешнего mcu

    1. А если numBytes % 4 != 0 то тогда часть данных не отправится, правильно? 2. Подождите: dword = 32 бита, word = 16 бит. Регистры HSPI у нас 32 битные поэтому 8 * 32 = 256 бит = 32 байта - кажется все корректно. Да и если посмотреть то MAX_SIZE_BUFFER нигде по делу не используется, а...
Сверху Снизу