Миландр

Ключевым подразделением нашей компании является Центр Проектирования интегральных микросхем
Текущее время: 2018-окт-17 02:39

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 31 ]  На страницу Пред.  1, 2, 3  След.
Автор Сообщение
СообщениеДобавлено: 2018-май-23 22:24 
Не в сети

Зарегистрирован: 2016-окт-14 19:39
Сообщения: 44
Откуда: СПБ
Vasiliy писал(а):
- Следующая версия получит индекс 1.5,

А сроки выпуска новой версии известны? Хотя бы приблизительно.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2018-май-24 08:58 
Не в сети

Зарегистрирован: 2014-апр-02 18:11
Сообщения: 34
Vasiliy писал(а):
В итоге:
- Индексы пака будут поправлены, чтобы в Keil однозначно отображалась версия 1.5.


Вот этого и хотелось!
Благодарю за конструктивный диалог.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2018-май-24 09:00 
Не в сети

Зарегистрирован: 2014-апр-02 18:11
Сообщения: 34
Vasiliy писал(а):
Пояснения:
- "Обновление 2018 года" - это исправление ошибки при установке пака в файле Keil.MDR1986BExx.pdsc. Это не тянет даже на версию, библиотечные файле не поменялись нисколько. Были бы полезные исправления - индекс был бы обновлен.


А это где-то отображено ? Вместе с паком идет описание, что именно поменялось относительно предыдущего ? ChangeLog есть ?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2018-май-24 09:01 
Не в сети

Зарегистрирован: 2009-июл-21 14:13
Сообщения: 1154
Откуда: Тула
azimuth писал(а):
Vasiliy писал(а):
- Следующая версия получит индекс 1.5,

А сроки выпуска новой версии известны? Хотя бы приблизительно.


на ЭЭ2016 обещали вот-вот открыть репозиторий.
сейчас же оказывается что библиотека стабильна и багов в ней крайне мало.
и вроде бы можно их закрыть официально, но вот проблема - пока никак не могут выбрать версию будущей библиотеки: так и оставить 1.4.1? выпустить свою официальную 1.4.2? или учесть сообщество с 1.4.3? Или всё же накопившихся изменений достаточно чтобы обновить ничего не значащую цифру до 1.5? А ведь есть ещё варианты!! 1.4.1.1, 1.4.1-1, 1.4.2.0,,,,,,,,,,,,

вот пример изменений в стабильной рабочей библиотеки, которые даже НЕ заслуживают публикации:
Код:
----------- Libraries/MDR32F9Qx_StdPeriph_Driver/src/MDR32F9Qx_dma.c -----------
index 90406d2..ca21d97 100644
@@ -514,21 +514,21 @@ FlagStatus DMA_GetFlagStatus(uint8_t DMA_Channel, uint8_t DMA_Flag)
   switch(DMA_Flag)
   {
     case DMA_FLAG_DMA_ENA:
-      return (FlagStatus)(MDR_DMA->STATUS & DMA_STATUS_MASTER_ENABLE);
+      return (FlagStatus)((MDR_DMA->STATUS & DMA_STATUS_MASTER_ENABLE)  != 0);
     case DMA_FLAG_DMA_ERR:
-      return (FlagStatus)(MDR_DMA->ERR_CLR & 0x01);
+      return (FlagStatus)((MDR_DMA->ERR_CLR & 0x01) == 0);
     case DMA_FLAG_CHNL_ENA:
-      return (FlagStatus)(MDR_DMA->CHNL_ENABLE_SET & (1 << DMA_Channel));
+      return (FlagStatus)((MDR_DMA->CHNL_ENABLE_SET & (1 << DMA_Channel)) != 0);
     case DMA_FLAG_CHNL_MASK:
-      return (FlagStatus)(MDR_DMA->CHNL_REQ_MASK_SET & (1 << DMA_Channel));
+      return (FlagStatus)((MDR_DMA->CHNL_REQ_MASK_SET & (1 << DMA_Channel)) != 0);
     case DMA_FLAG_CHNL_WAIT:
-      return (FlagStatus)(MDR_DMA->WAITONREQ_STATUS & (1 << DMA_Channel));
+      return (FlagStatus)((MDR_DMA->WAITONREQ_STATUS & (1 << DMA_Channel)) != 0);
     case DMA_FLAG_CHNL_BURST:
-      return (FlagStatus)(MDR_DMA->CHNL_USEBURST_SET & (1 << DMA_Channel));
+      return (FlagStatus)((MDR_DMA->CHNL_USEBURST_SET & (1 << DMA_Channel)) != 0);
     case DMA_FLAG_CHNL_ALT:
-      return (FlagStatus)(MDR_DMA->CHNL_PRI_ALT_SET & (1 << DMA_Channel));
+      return (FlagStatus)((MDR_DMA->CHNL_PRI_ALT_SET & (1 << DMA_Channel)) != 0);
     case DMA_FLAG_CHNL_PRIORITY:
-      return (FlagStatus)(MDR_DMA->CHNL_PRIORITY_SET & (1 << DMA_Channel));
+      return (FlagStatus)((MDR_DMA->CHNL_PRIORITY_SET & (1 << DMA_Channel) != 0));
     default:
       return (FlagStatus)0;
   }


ИМХО, проблема не разрешима. А главное смысл? Смысл ждать новую версию? Какие в ней ожидаются такие уж необходимые изменения, которые нельзя внести самому?

_________________
сочувствующий…


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2018-май-24 12:32 
Не в сети

Зарегистрирован: 2014-апр-02 18:11
Сообщения: 34
prostoRoman писал(а):
на ЭЭ2016 обещали вот-вот открыть репозиторий.


Кстати да! Раз уж мы за современный подход, что мешает сделать открытий репозиторий и принимать оттуда пулл-реквесты от пользователей с исправлениями ?
Во-первых, исправления будут проходить быстрее. Во-вторых, сразу пропадет весь этот зоопарк библиотек с непонятной нумерацией версий. В-третьих, частично разгрузятся специалисты Миландра.

P.S. А ошибки сейчас есть в библиотеках, во-всяком случае имеется некоторое недопонимание как минимум. Достаточно создать проект в keil, включить в него использование usb и usb_library и попробовать все это дело скомпилировать.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2018-май-29 19:03 
Не в сети

Зарегистрирован: 2017-апр-26 14:51
Сообщения: 159
Откуда: ПКК "Миландр"
Обновленная версия библиотеки 1.5 выложена на сайте - https://ic.milandr.ru/soft/

Исправления, пожалуйста, высылайте на почту support@milandr.ru вместе с примером демонстрирующим баг и его решение. Это необходимо для подтверждения ошибки и внесения исправлений. Сейчас этой работой занимаемся мы в техподержке, но поскольку запросов по ПО в день приходит не по одному, то собрать тестовый проект по каждой заявке мы не в силах. При наличии проверочного примера внесение ошибок произойдет быстрее.

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

Заранее, спасибо!

Текущие исправления библиотеки можно скачать у наших партнеров https://github.com/StartMilandr/Pack_VEx . (когда они сведут свою версию, с изменением шапок в 1.5)

_________________
Отдел технической поддержки support@milandr.ru


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2018-май-30 11:14 
Не в сети
Аватара пользователя

Зарегистрирован: 2016-июн-15 13:22
Сообщения: 43
Круто, конечно, что работа над библиотекой идёт.

Копирайты фитоновские убрали и заменили несколько строчек в паре файлов? :D

Может эффективнее будет оставлять баги на гитхабе чем заваливать вас письмами? Так и повторяющихся не будет и будет виден прогресс работы над их устранением. Или завести отдельный баг-трекер.

_________________
cdeblog.ru


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2018-май-31 19:48 
Не в сети

Зарегистрирован: 2010-авг-30 19:12
Сообщения: 395
OFF TOP
Цитата:
При наличии проверочного примера внесение ошибок произойдет быстрее.

Не исправление, как многие ожидают :lol:

_________________
О сколько нам открытий чудных
Готовит просвященья дух,
И опыт - сын ошибок трудных ... (Пушкин)

Пергаменты не утоляют жажду ("Фауст",Гете)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2018-июн-07 21:47 
Не в сети

Зарегистрирован: 2018-янв-05 23:41
Сообщения: 11
При подключении некоторых заголовков h-файлов драйверов
Открыть Список драйверов
MDR32F9Qx_arinc429r.h
MDR32F9Qx_arinc429t.h
MDR32F9Qx_audio.h
MDR32F9Qx_can.h
MDR32F9Qx_dac.h
MDR32F9Qx_dma.h
MDR32F9Qx_ebc.h
MDR32F9Qx_eeprom.h
MDR32F9Qx_eth.h
MDR32F9Qx_iwdg.h
MDR32F9Qx_keypad.h
MDR32F9Qx_led.h
MDR32F9Qx_mil_std_1553.h
MDR32F9Qx_rst_clk.h
MDR32F9Qx_power.h
MDR32F9Qx_sdio.h
MDR32F9Qx_ssp.h
MDR32F9Qx_timer.h
MDR32F9Qx_usb.h
MDR32F9Qx_wwdg.h
Закрыть

компилятор выдаёт множественные ошибки следующих видов:
Открыть Список ошибок
error: #20: identifier "uint8_t" is undefined
error: #20: identifier "uint16_t" is undefined
error: #20: identifier "uint32_t" is undefined
error: #20: identifier "FunctionalState" is undefined
error: #20: identifier "FlagStatus" is undefined
Закрыть


Анализ показал, что в тех заголовках, в которых таких ошибок нет (например _adc.h, _bkp.h, _comp.h, _port.h) присутствуют следующие строки кода:
Код:
#include "MDR32F9Qx_config.h"
#include "MDR32F9Qx_lib.h"

А в тех, на которые ругается компилятор:
Код:
#include "MDR32F9Qx_lib.h"

Т.е. не хватает строки
Код:
#include "MDR32F9Qx_config.h"

Это нормально? Так и должно быть? Или ошибка? Или я что-то делаю не так?

Прикладываю тестовый проект - попробуйте раскомментировать строки с #include по-одной и убедиться, что проблема есть.
Я уже писал об этом в техподдержку пол года назад, они пообещали разобраться. Но в версии 1.5 воз и ныне там...


Вложения:
Комментарий к файлу: Тестовый проект с минимальный main-файлом
Test_new_project.zip [1.69 МБ]
Скачиваний: 34
Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2018-июн-08 09:38 
Не в сети

Зарегистрирован: 2017-апр-26 14:51
Сообщения: 159
Откуда: ПКК "Миландр"
У меня компилируется без ошибок, расcкомментировал все include. Более никаких исправлений не вносил. Пак без изменений установил с сайта v1.5.

Keil V5.23.0.0, компилятор выставлен по умолчанию.

_________________
Отдел технической поддержки support@milandr.ru


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2018-июн-08 19:06 
Не в сети

Зарегистрирован: 2018-янв-05 23:41
Сообщения: 11
Vasiliy писал(а):
расcкомментировал все include.

В этом как раз ваша ошибка :D
Раскомментировать надо было по-одному, как я написал в комментариях в программе.
Попробуйте по-очереди.
С раскомментированной строкой
Код:
#include <MDR32F9Qx_adc.h>

у вас ошибок не будет.
А если её снова закомментировать, а раскомментировать, к примеру
Код:
#include <MDR32F9Qx_rst_clk.h>

то возникнут ошибки.
Теперь если снова раскомментировать строку
Код:
#include <MDR32F9Qx_adc.h>

то ошибки снова исчезнут.
Это так случайно совпало, что в первом #include я написал "правильный" h-файл, который включает нужный заголовок, поэтому все последующие "неправильные" h-файлы компиллятор проглатывает без ошибок. Т.к. все требуемые ими объявления типов уже были подключены ранее, первым "правильным" h-файлом (в моём случае это MDR32F9Qx_adc.h)

Попробуйте ещё раз, только сделайте как я сказал - раскомментируйте по-одному.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2018-июн-09 10:41 
Не в сети

Зарегистрирован: 2017-апр-26 14:51
Сообщения: 159
Откуда: ПКК "Миландр"
Я так и сделал, снимал комментарии по одному... не возвращая назад. :)

Теперь понятно о чем речь. Professor Chaos, спасибо за исправление!
Обновленные файлы в https://github.com/StartMilandr/Pack_VEx

_________________
Отдел технической поддержки support@milandr.ru


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2018-сен-26 09:58 
Не в сети

Зарегистрирован: 2014-апр-02 18:11
Сообщения: 34
Спасибо за новые версии библиотек, сейчас хоть какой-то порядок стал с нумерацией.
Но вопрос, вы сами их перед выпуском проверяете ?
Нужно устройство USB, код давно уже написан, отлажен и работает. Необходимо было поправить пару строк, при открытии в keil видим вот такое:
"compiling MDR32F9Qx_usb_CDC.c...
C:\Keil_v5\ARM\PACK\Keil\MDR1986BExx\1.5\Libraries\MDR32F9Qx_StdPeriph_Driver\src\USB_Library\MDR32F9Qx_usb_CDC.c(399): error: #20: identifier "USB_CDC_HANDLE_SEND_ERROR" is undefined
USB_CDC_HANDLE_SEND_ERROR);
C:\Keil_v5\ARM\PACK\Keil\MDR1986BExx\1.5\Libraries\MDR32F9Qx_StdPeriph_Driver\src\USB_Library\MDR32F9Qx_usb_CDC.c(401): error: #20: identifier "USB_CDC_HANDLE_LINE_STATE_REPORT_SEND_ERROR" is undefined
USB_CDC_HANDLE_LINE_STATE_REPORT_SEND_ERROR);
C:\Keil_v5\ARM\PACK\Keil\MDR1986BExx\1.5\Libraries\MDR32F9Qx_StdPeriph_Driver\src\USB_Library\MDR32F9Qx_usb_CDC.c(612): error: #20: identifier "USB_CDC_HANDLE_DATA_SENT" is undefined
return USB_CDC_HANDLE_DATA_SENT;"
и т.д.

Как только выбирается драйвер "USB_Library" , тут же в проект добавляются два файла, MDR32F9Qx_usb_device и MDR32F9Qx_usb_CDC.
Если с MDR32F9Qx_usb_device все понятно, он нужен, но зачем цеплять еще и MDR32F9Qx_usb_CDC, даже не спросив, нужен ли он ? Тем более, что он у вас даже не компилируется.
А если CDC не нужен, но нужен device, как быть, править файлы библиотеки ?
Каждый раз вырезать везде использование CDC ?
Почему нельзя отдельно сделать подключение CDC, чтоб тот, кому он нужен, могли бы его цеплять, кому не нужен, использовали бы только MDR32F9Qx_usb_device и все.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2018-сен-26 10:19 
Не в сети

Зарегистрирован: 2014-авг-11 19:26
Сообщения: 115
Есть такая проблема с USB Device, в свое время решил её созданием своего пака с правками https://adelectronics.ru/2017/05/24/kei ... %b4%d1%80/ тут можно посмотреть реализацию. Но пак содержит не последние исходники библиотек, думаю что то да обновить понадобится и собрать заново. Пак - обычный zip архив с другим расширением. Удачи )

_________________
https://adelectronics.ru
Заходи, не стесняйся! ;)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2018-сен-26 10:46 
Не в сети

Зарегистрирован: 2014-апр-02 18:11
Сообщения: 34
A_D писал(а):
Есть такая проблема с USB Device, в свое время решил её созданием своего пака с правками https://adelectronics.ru/2017/05/24/kei ... %b4%d1%80/ тут можно посмотреть реализацию. Но пак содержит не последние исходники библиотек, думаю что то да обновить понадобится и собрать заново. Пак - обычный zip архив с другим расширением. Удачи )


Тут есть одна проблема. Когда разработчик один, то можно локально все исправить у себя, ну на крайний случай держать еще свой пак для себя.
Когда их много, необходима какая-то унификация, чтобы все было более-менее одинаково у всех.
Создать свой пак можно, но при след. обновлении что делать, опять создавать свой и всем кидать с учетом обновлений ?
Мне кажется это не совсем правильный подход. Тем более, когда сами разработчики не проверяют свои же библиотеки на возможность их хотя бы скомпилировать. Одно дело, когда есть какие-то ошибки, это нормальная ситуация, другое дело когда выкатывают библиотеку, которая не компилится. То есть возникает подозрение, что после внесение изменений в файлы их даже не проверяли.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 31 ]  На страницу Пред.  1, 2, 3  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB