All streams
Search
Write a publication
Pull to refresh
2
0
Максим @mctMaks

инженер-программист

Send message

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

Он оснащён датчиком отпечатка пальца для идентификации пациентов

А как девайс поймет что таблетку именно выпили, а не выкинули/плюнули после?

Вот тут идея интереснее - цифровая таблетка, которая сообщит уж точно что её съели:

https://blog.nordicsemi.com/getconnected/the-first-digital-pill-is-approved

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

https://www.nordicsemi.com/News/2019/08/Fruitech-HiPee-Smart-Pillbox-use-nRF52832-to-sync-with-app-for-setting-medication-schedule

Мне не понравилось у ST то, что для инициализации таймера на вход, в структуре нужно было ещё и прописать остальные поля, относящиеся к выходу. Возможно это было в относительно первых версиях и сейчас по другому, но осадочек остался.

В общем, дело вкуса как говорится)

Спасибо, вполне реальный пример. Но на мой взгляд, переход между F3 и F7 не такой уж и сложный. Большая часть периферии все же конфигурируется одинаково. у ST только I2C да DMA сильно менялись при выходе новых моделей. GPIO\TIMER\SPI так вообще практически неизменны. (за исключением F1 серии, там все другое). А например переход между F1 и L4+ семействами был бы повеселее как мне кажется.

Клиенту нужен рабочий прибор, а не оптимально написанный код на регистрах.

Ещё и нужен вчера. Но тут как посмотреть, иногда ведь клиент хочет чтоб железка была маленькой и от батарейки работала вечно. Вот тут в оптимизацию топишь по максимуму. И тогда вместо F7 ставишь тот же F3, перечитывая историю одного байти).

Вот представьте себе ситуацию, вы сделали какой то супер пупер прибор, у вас написаны свои драйвера и библиотечки для АЦП, Ethernet, гироскопов, модбасов и прочих МЭК протоколов, модули удаленного обновления ПО через протоколы верхнего уровня и пр и все это ну допустим под STM32F3.

Это могу представить, у меня в работе как раз есть отдаленно похожая вещь. Есть прибор где связка nrf52840 + stm32l4r, а есть где просто nrf52840. В добавок некоторый код переносится с DSP. И особых проблем не испытываю.

драйвера и библиотечки для АЦП, Ethernet, гироскопов, модбасов и прочих МЭК протоколов

при написании этого добра, код должен зависеть только от трех функций ( в основном): прочить по шине, записать по шине, настроить шину для себя. И все. Интерфейс универсальный, реализация под каждый МК своя. Перенос делается одним человек за пару часов. Правда справедливости ради, перед этим на написании драйверов потрачено N-количество времени.

Я пробовал HAL от нордиков, когда подключал внешнюю NAND память. Да приятно и удобно, вызвал инит и забыл: оно работает само, правда на ките и только с 8 МБ памятью. Переход на больший объем оказался сложным, так как в HAL забыли добавить возможность отправки кастомной команды для перехода на 32-битную адресацию по шине. Недели две ушло на то, чтобы понять из какого места это правильно и безопасно сделать. Абстракция над абстракцией и абстракцией погоняет. Три или четыре уровня, с постоянным переименованием методов и переменных для вызова 6 строк записи в регистры. Это разве удобно?!

Такого решения я еще не видел в описаниях ни к STM32 ни к другим МК. 

у нордиков nrf52/nrf53 в SDK есть примеры подключения Flash Data Storage - файловой системы, придуманной похоже нордиками (в подробности не вдавался, не было необходимости её использовать). По сути аналог того, что было в статье. Есть сборка мусора, есть равномерный износ и возможность писать "файлы" и если память не изменяет, поверх FDS можно ещё и FatFS поставить без проблем. Объем ограничен свободной флешкой самого МК.

Да примера использования, как Вы описали нет, но в целом возможность такая есть. Особенно если учесть, что рядом ещё на QSPI NAND память повесить можно (аж до 256 мегабайт, больший объем найти в этом корпусе не удалось), то вполне реально из двух примеров собрать то что Вы описали.

ИМХО, не видели в описании скорее всего потому, что гораздо проще рядом прилепить EEPROM или маленькую SPI флешку, чем заниматься кодингом.

Что-то не заметил в новости, а реголит то откуда будет?

Вроде с Луны последнее время ничего не привозили (или я пропустил), старые запасы в ход пойдут? Или планируется миссия по забору грунта?

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

Причем это отличный способ разобраться в деталях как все работает.

Поддерживаю. Более того, иногда это единственный способ сделать код ещё и быстрым.

не нужно портировать на другие процы.

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

а разве для это не нужно, чтобы вакцину внесли в нац.календарь прививок?

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

а каким алгоритмом сжимают слонов?

30-килограммовый гексакоптер,

Вертолет будет иметь соосную конструкцию с двумя несущими винтами,

что не укладывается в голове это. Соосная это же когда два винта друг над другом и вращающиеся в противоположные стороны, а тут даже на рисунке показаны обычные 6 винтов.

то что мусор вывозят, это понятно) удивило количество

точно, помню что видел новость, но не помню где и когда. все по заветам классики "тут помню, тут не помню"

Утилизация мусора (более 3 тонн)

это ж откуда там столько ? Или это указана максимальная "полезная" нагрузка от МКС к поверхности для данного грузовика?

а что (или кто) мешает новый наработать? цель вроде как мирная, почему бы и нет?

Из того что я использовал у себя:

в С++20 завезли: non-type template parameters of class type

template< GPIO_t T>
class Gpio{
...
}

в С++17 завезли:

инициализацию статических членов сразу в шаблоне:

// строковые константы
static inline char revision_[7]  = "unset";
// или так
inline static T inst_;

fold expression:

...
static inline constexpr void addChannels () {
  NRF_PPI->CHG[GROUP_NUM] = ( (1<<channels) | ... );
}

if constexpr:

if constexpr (F != 0) {
  NRF_PPI->FORK[CH].TEP = F;
}

Для себя пользую Segger Embedded Studio, так как по мимо stm32, использую ещё и nrf52. Лучше иметь более универсальную IDE, чем две под разные МК.

насчет С++14/20: если писать с использованием шаблонов, а с ними код реально компактней получается, то 20 версия стандарта самое то. Стандартные либы не пользую, немцы нормальной поддержки ещё не завезли к себе, а так хочется std::array ...

да и в целом IDE сейчас по сути только редактор кода да организатор дерева проекта. компилятор то любой можно подтянуть, а тут уже начинается интересное. каждый старается выдать свой компилятор как "самый-самый", но это как правило для коммерческого использования (вопрос цены все же стоит остро). а для хобби проектов\обучения по сути хватает и свободных компиляторов. отсюда и вопрос выбора IDE чисто дело вкуса. а что нам надо? адекватную подсветку синтаксиса, автодополнение да темную тему.

Да и так ли плоха родная IDE ?

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

как это можно сделать

<sarcasm> Уточните что можно сделать "украсть" или "отказаться" <\sarcasm>

интересно, а экономия топлива при этом получается или нет?

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

Information

Rating
Does not participate
Location
Таганрог, Ростовская обл., Россия
Date of birth
Registered
Activity