Как-то сложно вы прошиваете, можно же прописать runner = "arm-none-eabi-gdb -q -x openocd.gdb" в .cargo/config и прошивать с помощью gdb командой cargo run --release, без всякой конвертации в bin. Пример этого есть в https://github.com/rust-embedded/cortex-m-quickstart
И ещё: почему в features указан stm32f100, а не stm32f103?
В реальности такое сложно найти, а с точки зрения датчика — легко. Если по его мнению концентрация ниже 400, то он её "округляет" до 400. Это иногда приводит к довольно странным графикам.
Ну да, эти диапазоны — не более чем границы измерений. Можно PWM настроить в один диапазон, DAC в другой. По факту прошивка берёт значение концентрации CO2 в ppm, приводит его к выходному значению с учётом границ диапазона, после чего выдаёт на DAC/PWM
Насчёт аналогового выхода: попробуйте поиграться с командами 0xA4/0xA5 (https://revspace.nl/MH-Z19B). Но меньше чем 400ppm этот сенсор всё равно вам не выдаст.
Не, с многими платформами из этой статьи данный чип не сможет тягаться в принципе, но для простых применений — почему бы и нет, тем более что стоит сравнительно недорого. Меня он больше как платформа для embedded интересует: всё-таки, два приличных ядра, 6МБ оперативки и FPIOA — такое не на каждом углу встретишь. Ну и RISC-V, со всеми его плюсами.
Пока готовил эту статью, натолкнулся на эту embedded платформу. По ней очень мало информации. Как я понимаю — нулевая поддержка. Продуктивность тоже на нуле… И ни одного теста по скорости…
Что-то не очень глубоко вы копали. Под модуль, который на паян на плате, есть MicroPython, есть демки. В самом чипе — аппаратная считалка свёрточных (если не ошибаюсь) нейросетей. К тому же, Grove AI HAT — не единственное исполнение: есть и другие платы с тем же модулем на борту (искать на том же сайте по "sipeed"), в том числе с экраном и камерой для обработки картинки в реальном времени.
Вот вам лайфхак: обычно на первой же странице есть баннер, переход по которому включает интернет. Иногда нужно ткнуть не куда угодно, а на кнопку внутри баннера.
Так тут и нет никакой рандомизированной части, как я понимаю. Любой злоумышленник, имеющий доступ к "подписывалке", может заранее узнать подпись, а следовательно и то "случайное" число, которое получится в GenerateRandInt. Если бы в реализации подписи фигурировал случайный паддинг, это было бы невозможно.
Можно же разные модули на разных языках писать. По крайней мере, в теории.
Да. Xargo теперь нужен в очень редких случаях.
Как-то сложно вы прошиваете, можно же прописать
runner = "arm-none-eabi-gdb -q -x openocd.gdb"
в .cargo/config и прошивать с помощью gdb командойcargo run --release
, без всякой конвертации в bin. Пример этого есть в https://github.com/rust-embedded/cortex-m-quickstartИ ещё: почему в features указан
stm32f100
, а неstm32f103
?В реальности такое сложно найти, а с точки зрения датчика — легко. Если по его мнению концентрация ниже 400, то он её "округляет" до 400. Это иногда приводит к довольно странным графикам.
Ну да, эти диапазоны — не более чем границы измерений. Можно PWM настроить в один диапазон, DAC в другой. По факту прошивка берёт значение концентрации CO2 в ppm, приводит его к выходному значению с учётом границ диапазона, после чего выдаёт на DAC/PWM
Насчёт аналогового выхода: попробуйте поиграться с командами 0xA4/0xA5 (https://revspace.nl/MH-Z19B). Но меньше чем 400ppm этот сенсор всё равно вам не выдаст.
А этот код можно и не забывать: чемодан или заряжен в поездку или он пустой и на нём набран правильный код.
Тут ссылка на сайт есть, а в русской версии нет!
Это больше про FPGA, но в целом задачи схожие. Если говорить про FPGA, то сюда можно набросить ещё yosys и arachne-pnr/nextpnr.
Это открытые инструменты, которые можно взять за основу, а не делать всё с нуля.
И ни одного упоминания в статье таких инструментов, как graywolf и qrouter. Как так?
Не, с многими платформами из этой статьи данный чип не сможет тягаться в принципе, но для простых применений — почему бы и нет, тем более что стоит сравнительно недорого. Меня он больше как платформа для embedded интересует: всё-таки, два приличных ядра, 6МБ оперативки и FPIOA — такое не на каждом углу встретишь. Ну и RISC-V, со всеми его плюсами.
К сожалению, я не очень в теме нейронок, чтобы говорить о том, как это стыкуется с современным стеком. Навскидку:
https://github.com/kendryte/nncase
https://github.com/kendryte/caffe-workspace
https://github.com/kendryte/tensorflow-workspace
Что-то не очень глубоко вы копали. Под модуль, который на паян на плате, есть MicroPython, есть демки. В самом чипе — аппаратная считалка свёрточных (если не ошибаюсь) нейросетей. К тому же, Grove AI HAT — не единственное исполнение: есть и другие платы с тем же модулем на борту (искать на том же сайте по "sipeed"), в том числе с экраном и камерой для обработки картинки в реальном времени.
Ну, в теории в даташите всё правильно написано. На практике — нет.
Только с большой вероятностью на C8T6 будет столько же флэша, сколько и на CBT6. Зачем платить больше?
Вот вам лайфхак: обычно на первой же странице есть баннер, переход по которому включает интернет. Иногда нужно ткнуть не куда угодно, а на кнопку внутри баннера.
Так тут и нет никакой рандомизированной части, как я понимаю. Любой злоумышленник, имеющий доступ к "подписывалке", может заранее узнать подпись, а следовательно и то "случайное" число, которое получится в GenerateRandInt. Если бы в реализации подписи фигурировал случайный паддинг, это было бы невозможно.
У вас какая-то странная RSA-подпись. В нормальной каждый раз должен получаться разный результат для одного и того же подписываемого блока данных.
Для питания два контакта, но больших, под винт М10. Ими же и прижимать.