Как стать автором
Обновить
6
0

Пользователь

Отправить сообщение
Что значит «видео недоступно»? У меня видео работают.
Сделал вариант с двунаправленным обменом: https://github.com/alguryanow/serial2web-2/tree/ChipaKraken-patch-1
Есть такой проект: mbeddr . Это проект среды разработки для встраиваемых систем. У них есть очень интересные идеи. В том числе реализована генерация различных диаграмм по псевдокоду с возможностью интерактивного перехода от диаграммы к тексту и обратно. На их сайте есть несколько демонстраций.
Я для подготовки различных диаграмм использую PlantUML. Он умеет строить разные типы диаграмм, которые надо описать на его собственном языке. Описание для блок-схем выглядит как программа на чём-то среднем между С/паскалем/бейсиком.
Я сделал, как Вы предложили, но, по-моему, получилось так себе. Если на локальной машине в Hg Workbench ответвление видно хорошо (ветка пошла другим цветом, у каждого коммита показывается название ветки), то на гитхабе это не понятно. Кроме того, на гитхабе коммиты имеют совершенно другие хэши и не понятно, как мне в README.md ссылаться на нужный коммит.

Так что пока я делаю вывод, что идея вести обе версии в одном репозитории, возможно, и правильная, но, по крайней мере, в случае связки mercurial + github плохо реализуемая.
Спасибо за команды.

А на гитхаб это нормально протолкнётся?

Если я сделаю «hg branch version-2», то надо ли первыми коммитом после этого удалить все старые файлы? Ведь новая версия, по большому счёту, не является развитием старой версии — можно сказать, что она написана почти с чистого листа.

У меркуриала есть особенность: если сделать clone, то в копии активной ревизией будет последняя из ветки default. Если не знать об этом (или забыть), то после клонирования можно начать редактировать неправильную ревизию. У git-а таких проблем нет?
Простите, но я не понял, что Вы хотите получить в итоге.

Что касается стыковки браузера с COM-портом, то мне кажется, что желание сделать это без костылей — это из области фантастики. Браузер — это программа, которая (если забыть про разные костыли) работает только с http-серверами. Т.е. вы с одной стороны имеете standalone-программу, которая работает с COM-портом, но, насколько я понял, не умеет отвечать на http-запросы, а с другой стороны — браузер, который (в основном!) умеет только посылать http-запросы и красиво отображать ответы на эти запросы. Без различного рода костылей тут, по-моему, не обойтись.

Возможно, Вам поможет решение от Амперки, которое послужило к моим статьям (этой и предыдущей): «Отображаем данные из Serial в Chrome Application»
Там браузер (правда только Chrome) самостоятельно обращается к COM-порту на той же самой машине и выводит строки из него на страницу.
Наверное, от безграмотности. Я не смог быстро сообразить, как сделать так, чтобы при желании можно было «развивать» обе версии в одном репозитории. Я пользуюсь mercurial. Можете показать команды hg, с помощью которых можно правильно и красиво поддерживать обе версии?
Если функцию get_full_line_from_serial переписать следующим образом:
captured_count = 0
def get_full_line_from_serial():
    """ returns the count of readed bytes since start as a string
        if something received or None
        Uses global variables 'ser' and 'captured_count'
    """
    global captured_count
    part = ser.readline()
    if part:
        captured_count += len(part)
        return str(captured_count)
            
    return None

то будет выводится количество байт, прочитанных из COM-порта с момента старта сервера. Если количество меняется, значит передачи идут. Такой способ мониторинга факта передачи годится?

Но, по-моему, это будет интересно только в течении первых пяти минут. Дальше захочется собирать и протоколировать весь трафик. Чтобы иметь возможность проанализировать возникающие проблемы как можно детальнее. И это правильно. Но в этом случае рассмотренный в статье механизм — это, как мне кажется, не самый подходящий вариант.
Я в свою очередь никогда не работал с Modbus :). После прочтения соотв. статьи в википедии мне кажется, что
Modbus мониторить можно, но только в том случае, если в качестве ADU используется Modbus ASCII.

Скрипт написан в предположении, что устройства, подключённые к COM-порту, обмениваются текстовыми строчками, заканчивающими символом конца строки. Если используется какой-то бинарный протокол, то ничего хорошего не выйдет.

Чисто теоретически его можно переделать так, чтобы он умел работать и с бинарными протоколами, но я не очень понимаю, зачем это может быть нужно. Он является альтернативным вариантом решения задачи, описанной в статье от Амперки, на которую я ссылаюсь в самом верху — в красивой форме (с этим, конечно, статья подкачала :) ) выводить в браузере строки, читаемые из COM-порта.

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность