Перейти к содержанию
    

Я добавлю issue и патч на днях; и по-поводу "незакрытых" баг - согласен.

 

По-поводу объединения усилия мы только ЗА. Андрей уже предлагал выше объединиться и отчасти нам это удалось, по мере обнаружения багов в самом Beremiz'e я пишу ему в баг-трекер. Я сам сейчас веду одновременно несколько проектов и в свободное от них время пишу, что-то вроде рантайма для STM32f4xx под беремиз (так же как это делаете Вы, если верить вашему репозитарию) и плагины для этого рантайма в Beremiz'e. У нас была попытка залезть глубоко в потороха matiec для испралления найденных багов, что-то даже удалось, то программист занятый этим переключился сейчас на другой проект, поэтому тут работа стоит.

 

А, да у Beremiz'a есть IRC чат, Андрей там уже сидит, я все никак не могу поставить на рабочую машину IRC-клиент, поэтому бываю там редко, когда подключусь с телефона только.

 

 

Ну IRС у меня нет, так что там я вряяд ли скоро появлюсь.

 

Форкнул репозитрий Андрея, исправил один баг в Beremiz, сделал пул-реквест, реакции пока нет.

 

Андрей часто появляется у себя в bitbucket?

Изменено пользователем paulbell

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я если честно сам редко сижу в ирке, мне не очень удобно там - на работе у меня блокируют туда доступ, поэтому я там либо через телефон, либо из дома. Можно попробовать создать чат в другом мессенджере.

 

Андрей обычно реагирует очень быстро, практически сразу. Наверно сейчас обстоятельства какие...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я если честно сам редко сижу в ирке, мне не очень удобно там - на работе у меня блокируют туда доступ, поэтому я там либо через телефон, либо из дома. Можно попробовать создать чат в другом мессенджере.

 

Андрей обычно реагирует очень быстро, практически сразу. Наверно сейчас обстоятельства какие...

 

Уже связались, познакомились, спасибо.

 

Хорошо бы втроем пообщаться в online-режиме, если интересно сотрудничество, конечно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Хорошо бы втроем пообщаться в online-режиме, если интересно сотрудничество, конечно.

 

Ну вот, что я предлагаю: cвои контакты я отправил Вам в личку, контакты Андрея у Вас тоже есть, я так понимаю, создайте чат (раз уж Вы инициатор online-режима) в мессенджере, который посчитаете удобным, и пригласите в него нас. Я на приглашение точно откликнусь. Да и вообще, все кто хочет поучаствовать думаю смогут туда подключиться через Вас.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну вот, что я предлагаю: cвои контакты я отправил Вам в личку, контакты Андрея у Вас тоже есть, я так понимаю, создайте чат (раз уж Вы инициатор online-режима) в мессенджере, который посчитаете удобным, и пригласите в него нас. Я на приглашение точно откликнусь. Да и вообще, все кто хочет поучаствовать думаю смогут туда подключиться через Вас.

 

Если блокируют сам протокол IRC или нет возможности установить IRC-клиент, то всегда есть возможно войти в IRC чат через вэб.

Например, вот здесь

https://webchat.freenode.net/

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Всем Здрасте!

 

Сразу описание проблемы: в генерируемых исходниках (Си), для доступа (чтение/запись) к объектам Словаря CANOpen в Беремизе используются указатели на переменные. Проблема заключается в том, что доступ к объектам словаря хорошо было бы сделать через функции CANFestival: set/get ODentry(...), так как они вызывают колбэк (если он есть) записи в словарь.

Кто нибудь решал эту проблему?

 

Была попытка поправить макросы, в accessor.h )) обломался.

 

Заранее Огромное спасибо!

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я эту проблему не решал. Но если я правильно все понял, нужно править не accessor.h, а сам модуль CANOpen в беремизе. Кодогенерацией занимается метод CTNGenerate_C(). Если переменные нужно записывать через методы set/get ODentry, а не напрямую, то можно, как вариант отслеживать изменение и производить запись в переменные объектного словаря в функциях __publish и __retrive, которые вызываются соответственно до и после пользовательского цикла. И еще, просто в качестве совета, такие вопросы эффективнее задавать mailing list - ответят быстрее и подробнее.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Функции __publish и __retrive - используются для режима debug. Но можно переписать и под себя конечно!

/*
* Retrieve input variables, run PLC and publish output variables
**/
void __run(void)
{
    __tick++;
    if (greatest_tick_count__)
        __tick %= greatest_tick_count__;
   /*__retrieve_debug();*/
    config_run__(__tick);
    __publish_debug();
}

Остаётся вопрос откуда взять список переменных, которые юзает код ПЛК, это раз!

И у меня возникает вопрос, а как генерится код ПЛК: не получится ли что код зациклится на ожидании какого нибудь флага, а он соответственно обновится только в следующем цикле! Может быть такой вариант событий?1

А функция CTNGenerate_C() всего лишь запускает iec2c

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Функции __publish и __retrive - используются для режима debug.

 

Нет. Я имел ввиду __publish_X и __retrive_X, которые реализует каждый модуль, при кодогерации. Признаться, после вашего сообщения, сам засомневался, что задал вопрос в ML. Тот же Canfestival реализован, как модуль к Beremiz'у, поэтому и реализует свои __publish_X и __retrive_X при генерации исходников.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не удобно когда переменных много! Обновлять всё, чтоб использовать часть! накладно получается!

Пока рабочим вариантом используем переписанные макросы в заголовочных файлах iec_inc.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

И у меня возникает вопрос, а как генерится код ПЛК: не получится ли что код зациклится на ожидании какого нибудь флага, а он соответственно обновится только в следующем цикле! Может быть такой вариант событий?1

 

Если __publish и __retrive реализовать без циклов, то такого быть не должно.

Iec2c генерирует конечные автоматы, которые работают кооперативно.

T.к. количество автоматов ограничено, то получается гарантия ограниченного WCET для кода,

генерируемого iec2c если он отработал без глюков.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Приветствую всех! Сборка проекта matiec из репозитория прошла с незначительными варнингами. Сам beremiz запускается. Однако при попытке запуска его проекта из среды PyDev вываливается куча ошибок. В чем может быть моя ошибка?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Из какого репозитария Вы взяли Beremiz и matiec? В какой операционной системе Вы работаете? И что за ошибки в pydev, выложите лог? И еще, повторюсь, настоятельно рекомендую спрашивать в mailing list, так гораздо эффективнее поверьте.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Из какого репозитария Вы взяли Beremiz и matiec? В какой операционной системе Вы работаете? И что за ошибки в pydev, выложите лог? И еще, повторюсь, настоятельно рекомендую спрашивать в mailing list, так гораздо эффективнее поверьте.

 

Beremiz и matiec - из https://github.com/nucleron. Нам требуется собрать минимально рабочую систему на плате F4Discovery. Из какого репозитория нам будет быстрее это сделать? Работаем в Linux/Ubuntu. IDE - Eclipse+PyDev. Логи соберу, укорочу и выложу.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Может я чего не знаю или не понимаю. Вы хотите на STMке питоновские скрипты использовать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...