Я попытался поюзать эту шткуовину и, пожалуй, должен отметить несколько заметных недостатков:
1) Потеря совместимости со старой Standart Peripheral Library. Функции из HAL и называются по-другому (как минимум, они начинаются со слова «HAL») и логика тоже поменялась. Теперь к проекту с HAL невозможно даже подцепить файл для настройки тактирования, который генерирует STM Clock Tool.
Попытавшись прикрутить HAL к старому проекту, я заметил серьезные изменения, например, в с USART — теперь нам предлагается использовать функции аля UartSend / UartReceive, которые библиотека предоставляет. И надеятся, что багов в них нет.
Т.е. старый код придется переписывать.
2) Отсутствие документации вообще и примеров для работы в частности. По крайней мере, что-то найти у меня пока что не получилось. У SPL с документацией тоже было не слишком радужно, но хотя бы были примеры. Тут — вообще голяк.
3) Быстро пробегая глазами код, я обнаружил баг с переполнением в функции HAL_Delay. Отношение к HAL сменилось на настороженно-недоверчивое (кстати, если кто-нибудь знает, куда можно сделать баг-репорт — подскажите пожалуйста).
Возможно, я несколько спешу с выводами, но пожалуй переходить на HAL еще рановато.
К сожалению, еще до меня в нашей команде его уже пробовали, что-то пошло не так и вся история коммитов погибла. Поэтому у моих коллег «детская травма» на его счет :)
Я на работе как раз использую svn (а долгое время там никакого контроля версий не было — да, такое действительно бывает). В принципе, для наших условий (менее 10 человек в команде, минимум совместного редактирования одних и тех же файлов) — его вполне хватает.
Я в курсе, что гит сейчас очень популярен и несколько раз уже подумывал на него переехать, но как-то не складывается. Меня отталкивает в первую очередь необходимость плотно использовать консоль и отличия в логике работы. Зачем, например, постоянно делать ветки под каждый чих, а потом их мерджить? История в svn линейна и читается как-то легче, чем ветвящиеся графики в git (ну, лично мне так кажется).
Вот насчет работы без интернета — это да, правда. Пару раз локалка ложилась ЗА ДЕНЬ до сдачи проекта и svn-сервер был недоступен. Вот это было весьма болезненно, доложу я вам :)
Было бы здорово, если бы в новой опере был такой же Plugin on Demand, как в старой. В хроме он есть (click to play), но не такой удобный — плагин разрешается разом на сайт — т.е., например, на ютубе все ролики начинают играть сразу, без клика.
В старой опере нужно было на каждый объект кликнуть отдельно (аналогичную функциональность дает экстеншен к мозилле flashblock).
Поставил оперу на работе — обнаружил еще один забавный глюк: при закрытии таба средним кликом окно прыгает на соседний монитор (подозреваю, что это из-за программы displayFusion, но все равно забавно).
Точно, только фавиконы и заголовки. У меня на старой опере было по нескольку сотен вкладок открыто (а фичи не было, спасался кастомной кнопкой Stop all). Хром же начинает дичайше лагать даже с 10-ю вкладками восстанавливаемыми.
В мозилле такая фича тоже есть, кстати говоря. В опере активируется через opera:flags -> lazy session
… другое дело, что у меня почему-то такие ленивые вкладки тоже подвисают, как я сейчас обнаружил :D
Отмечу один несомненный плюс новой оперы по сравнению с хромом — tab on demand (т.е. при восстановлении сеанса таб грузится только при клике на него).
Для хрома я не смог найти ни опции, ни дополнения и даже читал мнения, что дополнение такого не сможет сделать by design, что нужно код хрома переписывать (не знаю, насколько это правда)
Для меня есть еще несомненная проблема — в опере страницы не грузятся, если адрес вбивать руками :) По клику на спид-диал или ссылку — все окей, а руками не грузятся и подвисают наглухо. Поэтому я оперой даже и рад бы пользоваться (вместо хрома), но не получается.
Вот же блин. Я полгода ждал новой сессии этого курса, а ее все не было. Просто лекции слушать было интересно, но не слишком полезно. Вписался в принстонский курс (Algorithms Part I, преподаватель Р. Сэджвик — и вот на тебе :)
Мое глубокое имхо — как лектор Тим гораздо лучше Сэджвика (хотя слайды читаются чуть хуже, ибо Тим их пишет от руки) — возможно, в силу возраста.
Материал подается глубже (но не сильно, в математике не тонешь), от Сэджвика я даже про master theorem не услышал.
Тесты и задания мне понравились, не слишком сложные; автогрейдер считается одним из лучших, присутствуют пасхалки в тестовых наборах данных. Тесты и задания от Тима я еще не видел, т.к. в закрытом курсе у него были видны только видеолекции.
Придется мне совмещать, видимо :) К счастью, по времени пересечение недели две всего.
Вот я даже не знаю, хорошо это или плохо. С одной стороны, настройка периферии с SPL уже не способствовала глубокому пониманию происходящего (просто меняешь код примеров и все). С другой — если меняешь неправильно, закапываться в даташиты все же приходилось.
А теперь, видимо, вообще можно не заглядывать?
В то же время, периферии и настроек у stm столько, что для глубокого понимания всего ушли бы годы…
Наверное, все же хорошо. Удобно должно быть, как минимум.
Меня вот давно интересует вопрос, откуда взялся некий «закон сохранения информации»? Неоднократно встречаю в статьях про черные дыры упоминания то том, что информация должна сохраняться.
Но что тут подразумевается под информацией, почему она должна сохраняться и что будет, если она таки не сохраняется?
Да, как-то не подумал, что можно только дескриптор взять. Спасибо.
HID Descriptor tool облегчает дело, спору нет, но из нее совершенно непонятно, какое поле что означает.
1) Потеря совместимости со старой Standart Peripheral Library. Функции из HAL и называются по-другому (как минимум, они начинаются со слова «HAL») и логика тоже поменялась. Теперь к проекту с HAL невозможно даже подцепить файл для настройки тактирования, который генерирует STM Clock Tool.
Попытавшись прикрутить HAL к старому проекту, я заметил серьезные изменения, например, в с USART — теперь нам предлагается использовать функции аля UartSend / UartReceive, которые библиотека предоставляет. И надеятся, что багов в них нет.
Т.е. старый код придется переписывать.
2) Отсутствие документации вообще и примеров для работы в частности. По крайней мере, что-то найти у меня пока что не получилось. У SPL с документацией тоже было не слишком радужно, но хотя бы были примеры. Тут — вообще голяк.
3) Быстро пробегая глазами код, я обнаружил баг с переполнением в функции HAL_Delay. Отношение к HAL сменилось на настороженно-недоверчивое (кстати, если кто-нибудь знает, куда можно сделать баг-репорт — подскажите пожалуйста).
Возможно, я несколько спешу с выводами, но пожалуй переходить на HAL еще рановато.
Я на работе как раз использую svn (а долгое время там никакого контроля версий не было — да, такое действительно бывает). В принципе, для наших условий (менее 10 человек в команде, минимум совместного редактирования одних и тех же файлов) — его вполне хватает.
Я в курсе, что гит сейчас очень популярен и несколько раз уже подумывал на него переехать, но как-то не складывается. Меня отталкивает в первую очередь необходимость плотно использовать консоль и отличия в логике работы. Зачем, например, постоянно делать ветки под каждый чих, а потом их мерджить? История в svn линейна и читается как-то легче, чем ветвящиеся графики в git (ну, лично мне так кажется).
Вот насчет работы без интернета — это да, правда. Пару раз локалка ложилась ЗА ДЕНЬ до сдачи проекта и svn-сервер был недоступен. Вот это было весьма болезненно, доложу я вам :)
В старой опере нужно было на каждый объект кликнуть отдельно (аналогичную функциональность дает экстеншен к мозилле flashblock).
Поставил оперу на работе — обнаружил еще один забавный глюк: при закрытии таба средним кликом окно прыгает на соседний монитор (подозреваю, что это из-за программы displayFusion, но все равно забавно).
В мозилле такая фича тоже есть, кстати говоря. В опере активируется через opera:flags -> lazy session
… другое дело, что у меня почему-то такие ленивые вкладки тоже подвисают, как я сейчас обнаружил :D
Для хрома я не смог найти ни опции, ни дополнения и даже читал мнения, что дополнение такого не сможет сделать by design, что нужно код хрома переписывать (не знаю, насколько это правда)
Для меня есть еще несомненная проблема — в опере страницы не грузятся, если адрес вбивать руками :) По клику на спид-диал или ссылку — все окей, а руками не грузятся и подвисают наглухо. Поэтому я оперой даже и рад бы пользоваться (вместо хрома), но не получается.
На англовики в статье про него лежит вот это — Dijkstra.ogg — я слышу «а» вполне отчетливо.
А как правильно — не знаю, не рискну предположить.
Мое глубокое имхо — как лектор Тим гораздо лучше Сэджвика (хотя слайды читаются чуть хуже, ибо Тим их пишет от руки) — возможно, в силу возраста.
Материал подается глубже (но не сильно, в математике не тонешь), от Сэджвика я даже про master theorem не услышал.
Тесты и задания мне понравились, не слишком сложные; автогрейдер считается одним из лучших, присутствуют пасхалки в тестовых наборах данных. Тесты и задания от Тима я еще не видел, т.к. в закрытом курсе у него были видны только видеолекции.
Придется мне совмещать, видимо :) К счастью, по времени пересечение недели две всего.
А теперь, видимо, вообще можно не заглядывать?
В то же время, периферии и настроек у stm столько, что для глубокого понимания всего ушли бы годы…
Наверное, все же хорошо. Удобно должно быть, как минимум.
Но что тут подразумевается под информацией, почему она должна сохраняться и что будет, если она таки не сохраняется?
HID Descriptor tool облегчает дело, спору нет, но из нее совершенно непонятно, какое поле что означает.