Скрыть объявление
На нашем форуме недоступен просмотр изображений для неавторизованных пользователей. Если Вы уже зарегистрированы на нашем форуме, то можете войти. Если у Вас еще нет аккаунта, мы будем рады, если Вы к нам присоединитесь. Зарегистрироваться Вы можете здесь.

Web-свалка на RTL871x

Тема в разделе "Realtek - SDK, прошивки и утилиты", создана пользователем pvvx, 21 апр 2017.

  1. pvvx

    pvvx Активный участник сообщества

    Сообщения:
    8.396
    Симпатии:
    1.271
    Вам уже ответил - setup у них не пашет - шлет ошибки в microsoft.
    И вы бы ещё какую другую реликвию нашли, которую уже не купить. Почему не Win3.11 и PC 486DX?
    И при чем тут ваши ошибки? У них разный код обработки прерываний и прочего. От версии к версии есть зависимости. HiTech принципиально не стыкуется с микрочиповскими, включая xc - до моделей стека.
     
    Последнее редактирование: 18 мар 2018
  2. Dmitry Orlov

    Dmitry Orlov Новичок

    Сообщения:
    110
    Симпатии:
    1
    Пашет у них setup, говорю же, ставил относительно недавно, в 15 году. И Win7 - не реликвия, найти его - ни малейшей проблемы, впрочем, завтра на Win10 проверю.
     
  3. pvvx

    pvvx Активный участник сообщества

    Сообщения:
    8.396
    Симпатии:
    1.271
    Вот и проверьте HI-TECH C Archive
    ftp://Compilers-RO:C0mP!0511@ftp.microchip.com/
    И активация у них производится через setup.exe --..., которого у вас нет на криво-кракнутой версии.
     
    Последнее редактирование: 18 мар 2018
  4. Dmitry Orlov

    Dmitry Orlov Новичок

    Сообщения:
    110
    Симпатии:
    1

    Как я и предполагал, никаких проблем с компилятором 11 года на Win10 нет. Прекрасно ставится.

    Код (Text):
    1.  
    2. Microsoft Windows [Version 10.0.14393]
    3. (c) 2016 Microsoft Corporation. All rights reserved.
    4. C:\Program Files (x86)\HI-TECH Software\PICC\9.83\bin>
    5. C:\Program Files (x86)\HI-TECH Software\PICC\9.83\bin>picc --help
    6. (1273) Omniscient Code Generation not available in Lite mode (warning)
    7. HI-TECH C Compiler for PIC10/12/16 MCUs (Lite Mode)  V9.83
    8. Copyright (C) 2011 Microchip Technology Inc.
    9. Compiler Options:
    10.  
    Крак, если надо, делается потом, на уже поставленный компилятор, сетап при этом совершенно стандартный.
    Код (Text):
    1.  
    2. HI-TECH Universal RSA Keygen v2.2
    3. =================================
    4. * HI-TECH Universal RSA Keygen generates real RSA signed activation data.
    5. * Replaces HI-TECH RSA public key with self-generated RSA key - different every time!
    6. * Generates permanent key - no expiry date!
    7. * Tested with: HI-TECH C Compiler for PIC10-12-16 MCUs
    8.                HI-TECH C PRO for the PIC18 MCU Family
    9.                HI-TECH C PRO for the PIC32 MCU Family
    10.                HI-TECH for dsPIC-PIC24
    11.                HI-TECH C PRO for the Silicon Labs 8051 MCU Family
    12.                HI-TECH C PRO for the PSoC Mixed-Signal Array
    13.                HI-TECH C for Holtek MCU
    14.                HI-TECH PICC-18 STD
    15. 1. Install software.
    16. 2. Select Activate PRO/Standard mode with serial number & make up your own serial number.
    17.    e.g. 654321
    18. 3. Tick Off-Line - activation will be completed by email.
    19. 4. When software has finished installing run HI-TECH.exe and point to your activation-request.txt file.
    20.    e.g. HCPICP-654321-activation-request.txt file in installation folder.
    21. NOTE TO VISTA & WINDOWS 7 USERS
    22. -------------------------------
    23. If you have used other HI-TECH keygens/patches in the past they may have written data to your VirtualStore.
    24. The HI-TECH data in your VirtualStore takes precedence over global data when present and must be removed.
    25. Run CLEAN.BAT to remove this data; it will do no harm if you have not used HI-TECH keygens/patches before.
    26. You can run CLEAN.BAT before or after the HI-TECH Universal RSA Keygen.
    27. CLEAN.BAT removes the following keys from the registry:
    28. [HKEY_CURRENT_USER\Software\Classes\VirtualStore\MACHINE\SOFTWARE\Wow6432Node\HI-TECH Software]
    29. [HKEY_CURRENT_USER\Software\Classes\VirtualStore\MACHINE\SOFTWARE\HI-TECH Software]
    30. and the following folders:
    31. %LOCALAPPDATA%\VirtualStore\Program Files (x86)\HI-TECH Software
    32. %LOCALAPPDATA%\VirtualStore\Program Files\HI-TECH Software
    33.  

    Пробовать все, что лежит в микрочиповсом архиве я не вижу смысла, результат, очевидно, будет тот же. Все XC версии ставятся так же родным сетапом, потом, если нужно, кракаются одним и тем же краком.
    Код (Text):
    1.  
    2. MPLABо XC v1.32 Replacement XC License Manager
    3. ==============================================
    4. Windows
    5. -------
    6. Find xclm.exe file in compiler's bin folder, rename to xclm.old and copy replacement xclm.exe file to bin folder.
    7. Run xclm.exe once as administrator to patch compiler with new SHA hash.
    8.  
     
  5. Dmitry Orlov

    Dmitry Orlov Новичок

    Сообщения:
    110
    Симпатии:
    1
    Что до Win7, то вот он прямо на сайте MS Download Windows 7 Disc Images (ISO Files). Код обработки прерываний я могу, в принципе, посмотреть, только на фига, какая мне разница какой там код? Я не пишу компиляторозависимых программ, во всяком случае, стараюсь. А синтаксис там тот же, и XC8 - это именно переделанный HT, совместимый с ним по синтаксису расширений языка. И у PIC16 (10/12) есть только стек возвратов, никакого другого стека нет, автоматические переменные - это просто повторно используемые статические. В абсолютно любом компиляторе для этой архитектуры, она другого не позволяет.
     
  6. pvvx

    pvvx Активный участник сообщества

    Сообщения:
    8.396
    Симпатии:
    1.271
    Вы опять про что? Про 8-ми битные на старом компе, где ставится Win98? Там на СИ никто не писал. Ну разве что "Hello World". О чем с вами говорить, читайте мануалы про прерывания и сохранения регистров - может тогда и прозреете.
    Потом сходите в магазин и купите комп, да нем попробуйте поставить что из этих компиляторов.
    Вы даже это не смогли протестить, а мне разбираться в причинах их вылета на многих компах нет особого желания. Ставить маленькие диски и допотопные FAT32 системы - может оно только там и работает - вот и разберитесь.
    Из ваших соо я только понял, что у вас совсем беда там в Израиле. Одно старьё и нищета.
     
    Последнее редактирование: 18 мар 2018
  7. Dmitry Orlov

    Dmitry Orlov Новичок

    Сообщения:
    110
    Симпатии:
    1
    Я про те, которые вы не смогли поставить, а у меня ставятся без проблем.

    Вы, может, в 98 еще и не писали, я уже несколько лет как писал, как раз в 98 и для PIC16.

    Регистров? Можно поинтересоваться каких (в смысле, какая разница в версиях)? И какое это вообще имеет значение для программы на C? Впрочем, еще проще вопрос, нижеприведенные цитаты из документации к каким версиям компиляторов относятся?
    Я уже попробовал. Все, что мне нужно, ставится, стоит, и работает.

    Это не я не смог протестить (на фига мне тестить чужие компиляторы), а вы поставить. А я, как раз, смог и поставить и использовать, даже не подозревая, что это, оказывается, для кого-то большая проблема.

    Ну да, Win10/64 (равно как и Win7/64) у меня, "конечно" на FAT32, какую еще чушь придумаете? Впрочем, компилятору-то какая разница что там у OS за FS?

    Каждый понимает в меру своих способностей.
     
    Последнее редактирование: 18 мар 2018
  8. Алексей.

    Алексей. Авторитетный участник сообщества

    Сообщения:
    533
    Симпатии:
    60
    Поиграл я немного в wsl, демона на старте не запустить, режим установленный для /dev/ttyS* сбрасывается, значит хранятся только в памяти.
    Для установки режима tty сделал совсем простой скрипт в /opt/chmod-tty
    printf '#!/bin/sh\nchmod 666 /dev/ttyS?\n' | sudo tee /opt/chmod-tty
    сделал его исполняемым
    sudo chmod +x /opt/chmod-tty
    в /etc/sudoers добавил запись которая позволяет выполнять этот скрипт от sudo без запроса пароля
    alex ALL=(ALL) NOPASSWD: /opt/chmod-tty
    ну и для проверки простой Makefile
    Код (Text):
    1.  
    2. all: chmodtty
    3.  
    4. chmodtty:
    5.    sudo /opt/chmod-tty
    6.  
    смотрим режим для /dev/ttyS?
    alex@DESKTOP-FAPE8P5:~$ ls -l /dev/ttyS?
    crw-r----- 1 root root 4, 66 Mar 18 14:11 /dev/ttyS2
    crw-r----- 1 root root 4, 67 Mar 18 14:11 /dev/ttyS3
    crw-r----- 1 root root 4, 68 Mar 18 14:11 /dev/ttyS4
    crw-r----- 1 root root 4, 69 Mar 18 14:11 /dev/ttyS5
    crw-r----- 1 root root 4, 70 Mar 18 14:11 /dev/ttyS6
    crw-r----- 1 root root 4, 71 Mar 18 14:11 /dev/ttyS7
    crw-r----- 1 root root 4, 72 Mar 18 14:11 /dev/ttyS8
    crw-r----- 1 root root 4, 73 Mar 18 14:11 /dev/ttyS9
    выполняем мейк
    alex@DESKTOP-FAPE8P5:~$ make
    sudo /opt/chmod-tty
    смотрим режим ещё раз
    alex@DESKTOP-FAPE8P5:~$ ls -l /dev/ttyS?
    crw-rw-rw- 1 root root 4, 64 Mar 18 14:11 /dev/ttyS0
    crw-rw-rw- 1 root root 4, 65 Mar 18 14:11 /dev/ttyS1
    crw-rw-rw- 1 root root 4, 66 Mar 18 14:11 /dev/ttyS2
    crw-rw-rw- 1 root root 4, 67 Mar 18 14:11 /dev/ttyS3
    crw-rw-rw- 1 root root 4, 68 Mar 18 14:11 /dev/ttyS4
    crw-rw-rw- 1 root root 4, 69 Mar 18 14:11 /dev/ttyS5
    crw-rw-rw- 1 root root 4, 70 Mar 18 14:11 /dev/ttyS6
    crw-rw-rw- 1 root root 4, 71 Mar 18 14:11 /dev/ttyS7
    crw-rw-rw- 1 root root 4, 72 Mar 18 14:11 /dev/ttyS8
    crw-rw-rw- 1 root root 4, 73 Mar 18 14:11 /dev/ttyS9

    Ну как то так, для смены режима пароль не вводим.

    ПС
    добавил в ~/.bashrc строчку
    sudo /opt/chmod-tty
    теперь можно из мейкфайлов настройка режима /dev/ttyS* выкинуть
     
    Последнее редактирование: 20 мар 2018
  9. pvvx

    pvvx Активный участник сообщества

    Сообщения:
    8.396
    Симпатии:
    1.271
    Уже всё работает, с указанием от вас, что можно забить запрос пароля у sudo.
    Демона, чтобы настройки сохранялись между вызовами wsl из других задач win запускаете в другой сессии или можно прописать в ~/.profile.

    + вариант cerebrate/wabash
     
    Последнее редактирование: 18 мар 2018
  10. pvvx

    pvvx Активный участник сообщества

    Сообщения:
    8.396
    Симпатии:
    1.271
    Перестаньте тратить чужое время на разъяснение вам всякой чуши.
    В Win10 указанное запускается только в VirtualBox или Hyper-V и типа:
    Снимок3.gif
    В Win10 вы получите:
    Снимок2.gif
    Что там у них с кривой защитой и ключами твориться, или другими бедами, что работать не может - это сами вычисляйте. Тем более ошибки там "плавающие" и не одна.
    На Вынь7 таких бед нет на всех компах, но на современном компе с windows это не прокатит.

    Вы походу прилезли сюда рассказать о своей тупости или какой болезни мозгу?
    Вам простым языком не понятно, что если ПО содержит нестандартный подход, то не дай Бог вам потребуется через пару лет что менять в том проекте по уговорам заказчика. Но видимо вам это не грозит, т.к. работающих проектов у вас мало или вообще нет.
    Это вам не махнуть пару строк скрипта сборки в WSL, а будете бегать и искать свой любимый антиквариатный комп, на котором оно пойдет... :
     
    Последнее редактирование: 18 мар 2018
  11. Dmitry Orlov

    Dmitry Orlov Новичок

    Сообщения:
    110
    Симпатии:
    1
    Чушь тут преимущественно от вас, в товарных количествах, во что ваш нос и был ткнут, не трепыхайтесь, нюхайте. Расскажите еще про обработку прерываний в pic16.

    Это не "современный", а неисправный комп и/или Windows. Нет проблем с Win7, его и ставьте, ему хоть цвет и стиль нормальный окнам сделать можно, в отличие от Win10.

    Да нет, подсократить потоки вашего бреда.

    Нестандартный подход - это найти совершенно стандартное нативное приложение 10летней давности и сокрушаться, что спустя три версии OS и 5 поколений CPU лично у вас что-то не заработало без Virtual Box? Тоже мне проблема. Только это ваш подход, а не мой. У меня просто на всякий случай лежит тот комп, на котором это когда-то делалось, просто мне на своем удобней, в той среде, где я работаю сейчас, а не 10 лет назад.

    У меня и через 10 лет нет проблем ни на современный компилятор перенести, ни старый поставить. Это у вас там что-то вечно не работает.

    WSL - это вообще костыли, нормальные производители нормального железа (процессоров) делают нативные средства разработки под Windows, иногда платные, иногда нет. Сами, и/или третьих фирм. И никакие ни WSL, ни mingw ни виртуальные машины с линуксом им вовсе не нужны. Вместе с совершенно безумной связкой программ, авторства (и поддержки) которых не найдешь никогда. Все, кого ни возьми, кроме Espressif. Но для него можно, конечно, и Linux на комп поставить, не бог весть задача в 2018 году, 20 лет назад это сложнее делалось, сегодня оно само.
     
  12. pvvx

    pvvx Активный участник сообщества

    Сообщения:
    8.396
    Симпатии:
    1.271
    Вам это точно надо? И тут не в курсе? Ответ уже был, можно уточнить - в PIC18 на Hi на разных версиях по разному сохраняются то часть регистров, то все. Он то отслеживает использование, регистров то нет в коде СИ прерываний. По этому в проектах есть вставки ручного сохранения регистров в зависимости от версий. Это только часть. Остальное вам уже указано - разная организация симуляции "стека".
    Так-же классического ничего нет в данных компиляторах СИ. Во первых там не полный СИ, да и сильно зависимый и заточенный под конкретный контроллер, что дает непереносимый код. Вы это тоже оспариваете по безграмотности.
    И что выяснили? Что вы лажанулись на каждом шагу и вас как котенка тыкают носиком в собственную лужу? :)
    Задели вашу дурную фобию? :) :) Лечитесь.
    Та и вы с каждым постом всё больше и больше веселите. Тот-же МикроЧип в итоге пришел к gcc, а не к своему компилятору и системе... Т.е. его бардак пашет в WSL.
    Вам любой заказчик ответит, что ему пофиг до ваших древних компов и если вы не в состоянии сделать дело на имеющемся в наличии (в любом магазине напротив), то и нафиг не нужны со своими привычками и фобиями.

    Цвет менюшек ему не понравился :) Яподсталом…
    Во – таблетку вам нашел: Чего боятся программисты?
     
    Последнее редактирование: 18 мар 2018
  13. Dmitry Orlov

    Dmitry Orlov Новичок

    Сообщения:
    110
    Симпатии:
    1
    Я вам привел цитаты из документации, читать не умеете :)

    Не лазьте шаловливыми руками в регистры, тем более, что их там полторы штуки всего. Нет там никакой зависимости от версий.

    И опять же, указано неверно.

    Классического? Вы с театром не перепутали?


    И что? Тоже мне новость. Только он не непереносимый, а переносимый с большими трудозатратами. Но любой код для микроконтроллеров привязан и к архитектуре ядра и к периферии, и без адаптации не переносим.

    Нет, это вы мне это приписываете по глупости своей (все же ходы записаны).

    Что вы балабол, с огромным гонором, но очень ограниченным опытом и знаниями, склонный с скоропалительным выводам и безосновательным обобщениям, начинающий хамить при любом указании на ваши ошибки.


    Для pic10..pic18 он купил и продолжает развивать HiTech, XC8 - это он и есть. Для pic32 да, они портировали gcc, но безо всяких WSL.

    Точнее, в Linux, как и HiTech для него был.


    Заказчику вообще глубоко пофиг на чем я работаю, он устройство заказывает, а не компы.

    Да, 20 был один цвет, а потом поменяли и не изменить.
     
  14. pvvx

    pvvx Активный участник сообщества

    Сообщения:
    8.396
    Симпатии:
    1.271
    А зачем мне читать то, что уже не используется? :eek: Там написана поддержка HiTech для windows 10?
    Это вы про себя?
    Т.е. уже оно заработало на Вынь10 - ошибки исправили? :) Или всё-таки вы в очередной раз ошиблись, т.к. нет ни опыта, ни знаний по разным железкам и окружающим их ПО, кроме одной вашей поделки на 8-ми битном PIC? :D
    А чё такое WSL? Как его "портировать"? :confused:
    Там переключалки есть - можно сделать всё черно-былым... Платную документацию написать?
    ---
    Вылез из подстола...
    Как тут без гонора, если пишет какой-то вася из бобруйска, который вообще ни в чем не разбирается и не может решить ни одной задачи, но уже сильно больной фобией начинающего программера. :) :)
    Вы существуете тут только за счет меня, т.к. я поддерживаю с вами разговор, а вам надо внимание, как любому старому и больному... Никому не интересен ваш устаревший 8-ми битный PIC, а людей интересуют решения, а не ваши завывания. У многих их было сотни и хоять и лилеять какую-то железку никто не будет, тем более хранить для этого комп, на котором был слеплен проект десяток лет назад. :)
    Как пример - пока вы завывали, мы тут решили вопрос COM портами в WSL, который висит уже более полугода на массе ресурсов в инет...
     
    Последнее редактирование: 19 мар 2018
  15. Dmitry Orlov

    Dmitry Orlov Новичок

    Сообщения:
    110
    Симпатии:
    1
    Вам и правда ни к чему, не в коня корм.

    Конечно, одна из этих цитат от последней версии XC8 (недавно вышла). Другая, от HiTech 11 года, но вам-то невдомек.
     
  16. pvvx

    pvvx Активный участник сообщества

    Сообщения:
    8.396
    Симпатии:
    1.271
    Не в тему. Тут про web-свалку, если ещё не заметили :)
    Не вижу у HiTech надписи "работает в Windows 10".
    Вам пора собираться в общую кучу бегающих тут за мной папарацци - объединяйтесь с =AK=. Так будет легче окучивать - сразу оптом. :)
     
  17. Dmitry Orlov

    Dmitry Orlov Новичок

    Сообщения:
    110
    Симпатии:
    1
    Современные версии HiTech называются XC.
    Впрочем, под Win10 работают и старые у всех, кроме вас.
     
  18. aloika

    aloika Активный участник сообщества

    Сообщения:
    367
    Симпатии:
    25
    Хочу немного обсудить принцип работы с websocket в данной свалке, с целью прояснить это для себя, а то не могу до конца осмыслить.

    Насколько я понял, сейчас примеры от pvvx работают в общих чертах следующим образом (поправьте, плз, если не так):

    1. Web-страница открывает вебсокет и отправляет команду (команды) и ждет ответа. Приходит ответ - страница его интерпретирует и как-то отображает и т.д.
    2. После ответа страница через некоторое время снова отправляет команду и снова ждет ответа и т.д.

    Т.е. идет диалог - запрос страницы, ответ модуля и т.д. Т.е. нужно всё время посылать запросы-команды, чтобы что-нибудь получить в ответ. Запросы должны идти с определенной периодичностью, ее надо прикидывать хотя бы, чтобы потерь данных не было и т.д., контролировать этот момент и прочее.

    А почему нельзя сделать так - вот есть какое-нибудь, допустим прерывание (по приему символа в уарт, например). И по прерыванию этот символ отправлять в вебсокет, без дополнительного запроса со стороны страницы. Мне казалось, что этим вебсокет и ценен - отправить сообщение могут обе стороны по своей инициативе, безо всякого запроса-опроса, который поллинг напоминает (и в чём тогда интерес, непонятно).

    Попробовал написать что-то такое примитивное - не работает. Видимо, что-то фундаментальное упускаю.

    Вот смотрите:

    В web_int_callback.c добавляю:

    Код (C):
    1. #ifdef WEB_UART
    2.         else ifcmp("uart") {
    3.               if(CheckSCB(SCB_WEBSOC)) {
    4. extern int uart_ws(TCP_SERV_CONN *ts_conn, char cmd);
    5.                  int x = uart_ws(ts_conn, cstr[4]);
    6.                   if(x < 0) SetSCB(SCB_FCLOSE|SCB_DISCONNECT);
    7.               }
    8.         }
    9. #endif

    В другом файле пишу:

    Код (C):
    1. #include "device.h"
    2. #include "serial_api.h"
    3. #include "main.h"
    4. #include "user/swingbed.h"
    5. #include "web_srv.h"
    6.  
    7.  
    8. #define UART_RX    PA_0
    9.  
    10. volatile char rc=0;
    11.  
    12. WEB_SRV_CONN *web_conn = NULL;
    13.  
    14. int uart_ws(TCP_SERV_CONN *ts_conn, char cmd)
    15. {
    16.     switch(cmd) {
    17.  
    18.     case 'l': { //запуск
    19.         web_conn = (WEB_SRV_CONN *)ts_conn->linkd;
    20.         tcp_puts_fd("UART on ws launched!"); // Это - работает.
    21.         return 1;
    22.         }
    23.  
    24.     case 's': { //останов
    25.         tcp_puts_fd("UART on ws stoped.");
    26.         web_conn = NULL;
    27.         return 1;
    28.         }
    29.     default: {
    30.         return -1;
    31.     }
    32.  
    33.     } //switch
    34.  
    35.     return -1;
    36. }
    37.  
    38. void uart_irq(uint32_t id, SerialIrq event)  // прерывание по приему символа в уарт
    39. {
    40.     serial_t    *sobj = (void*)id;
    41.  
    42.     if(event == RxIrq) {
    43.         rc = serial_getc(sobj);
    44.         if(web_conn!=NULL) {
    45.                         tcp_puts("%02x", rc); // Вот это - не работает.
    46.                         DBG_8195A(" %02x ", rc); // А это - работает.
    47.         }    
    48.     }
    49. }
    50.  
    51. void uart_init(void)
    52. {
    53.  
    54.     serial_t    sobj;
    55.     serial_init(&sobj,UART_TX,UART_RX);
    56.     serial_baud(&sobj,9800);
    57.     serial_format(&sobj, 8, ParityNone, 1);
    58.     serial_irq_handler(&sobj, uart_irq, (uint32_t)&sobj);
    59.     serial_irq_set(&sobj, RxIrq, 1);
    60.  
    61. }
    Почему так нельзя? web_conn в прерывании уже неактуальна?

    Понятно, что можно символы накопить в буфере и по запросу их выдавать в функции uart_ws, так будет работать судя по всему.
     
  19. pvvx

    pvvx Активный участник сообщества

    Сообщения:
    8.396
    Симпатии:
    1.271
    Это сделано по нескольким глобальным причинам:
    1) Убрать тайм-ауйт TCP на 200 мс.
    2) Не держать открытый сокет неизвестное время. Ограничение в web-свалке 5 сек на тишину в сокете, 5-ть - т.к. рассчитано на кривую сеть GSM. Далее соединение закрывается. + Старые NAT теряют соединение, если долго не проходят никакие пакеты...
    3) Не терять PSB и не усложнять жизнь дополнительными указателями и проверками на закрытый сокет, win окно приемника, размеры буфера отправки LwIP, организации дублирующих буферов (которые могут занять память на неизвестное время - пока не выйдет тайм-аут соединения) ...
    4) Для работы по событиям, а не поллингом. В данном случае память занимается только на момент отработки ответа, когда никакие другие соединения не прерывают ответ. Тем самым не возникает переполнения heap. Отработало частное событие стека Lwip и память опять пуста - готова для обработки другого события. Т.к. если пришел новый запрос, то это значит он подтвердил TCP ACK-ом прошлый ответ.
    5) Из-за ограничений по памяти у данных MCU, на которые расcчитана Web-свалка ...
    ------
    То, что вы ищите и жаждите, есть в проекте HTTPD. Там стандартный websocket на tcp socket LwIP c Keep-Alive...
     
    Последнее редактирование: 21 мар 2018
    aloika нравится это.
  20. aloika

    aloika Активный участник сообщества

    Сообщения:
    367
    Симпатии:
    25
    Т.к. этот проект я смотрел и работал он тогда нестабильно (может там что изменилось, конечно), продолжаю с веб-свалкой (да и вообще не сравнить, чё уж там).

    Переделал пример приема данных с adc на прием данных с uart.
    Попробовал вместо teechart вместо dygraph.

    Теперь такой вопрос: получается так, что если одновременно открыть две веб-страницы, принимающие данные, на обеих страницах данные будут с пропусками. Потому как нет разницы, кто данные принял - кто успел, то и принял. Кто-то одну часть принял, кто-то другую.

    Пока обдумываю два варианта:
    Первый - если бы был где-то список подключенных web-сокет клиентов, то можно был бы определять, кому что отправлять, кто что получил, кто не получил. Но это сложно. И так-то алгоритм сложный, а тут ещё сложнее будет.
    Второй вариант - отправлять всем, не разбираясь, буфер целиком. И уже на стороне клиента разбирать - что принять к использованию, что отбросить.
     

Поделиться этой страницей