Jump to content
    

Индусский код

К сожалению, да: многие на гитхаб выкладывают совершенно нерабочие вещи. Но на то он и гитхаб: есть багтрекер, и все можно высказать автору.

 

Насчет printf: как по мне, так использование такой жути, как printf, malloc и т.п. оправдано лишь в "жирных" микроконтроллерах. В обычных (вроде STM32F0/1/2/3/4) им не место. Аналогично с плавающей точкой: если нет в камне их аппаратной поддержки, нечего их туда лепить! Иначе получается абдуринщество чистой воды!

 

В данном примере написан демо-код, его единственная цель - залить и проверить, что что-то работает, релиз - это совсем другая песня...

 

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

Share this post


Link to post
Share on other sites

Насчет printf: как по мне, так использование такой жути, как printf, malloc и т.п. оправдано лишь в "жирных" микроконтроллерах.
Этот пример для малины и линукса. Это как раз "жирный" процессор.

 

В данном примере написан демо-код, его единственная цель - залить и проверить
Не совсем так. Есть мануалы, как в 5 шагов развернуть Lora шлюз и end-point устройства используя библиотеку SX1272, и как построить систему мониторинга температуры в инете. Рассчитан на "не грамотных африканцев", как можно недорого развернуть мониторинг с минимальными знаниями.

 

если вы сделаете демокод хеловорд, вы его сделаете ребочим, врят ли вы его напишите так

 

#include <stdio.h>
int main()
{
char *str;
sprintf(str, "Hello world!")
printf(str);
return 0;
}

 

Более того... пусть даже это не релиз... а демонстрашка.... библиотеку SX1272 можно использоваьт и на малине, и на ардуино и в МК. Демонстрашка так же демонстрирует, как на ардуино легко создать шлюз/устройство, используя класс SX1272. Программист "Программист" ардуино запускает Arduino IDE, лезет в меню Sketch->Include Library->SX1272 и подключает эту библиотеку. Дальше создает объект SX1272, инитит, конфигурирует, и вызывает у него какие-то методы. Он не полезит дебажить саму библиотеку, тем более если кто-то программит "кубиками". А в библиотеке SX1272 баги. Зависнет ваш код в ардуино.... а в ардуино даже дебага нет. Будет в своих 3-х строчках искать ошибку, а она глубоко в подключённой либе.

 

Да и на C/С++ в линуксе.... подрубают готовую библиотеку SX1272 и используют её.... также как и wiringpi, stdio, как и всякие Qt и т.п.

 

 

 

Share this post


Link to post
Share on other sites

Ой, про абдуринщиков вообще не надо. У них из 10 "библиотек" 9 дырявых! А если разработчик "библиотеки" решит сделать что-то аппаратное не ногодрыгом, а как у людей, то еще и конфликт элементарно может возникнуть, когда один и тот же ресурс (скажем, таймер) используется двумя разными "библиотеками". Что, абдуринщик полезет код читать и будет править его, чтобы конфликта не было? Очень сомневаюсь.

 

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...