Arduino расширенная передача данных(в том числе на Processing)

allesanbr
Offline
Зарегистрирован: 31.01.2016

Начну издалека:

Понадобилось мне как-то считать с ардуино аналоговые данные и отдать их компьютеру на съедение, чтобы тот применил их к углам, которые с градусами. И тут выяснилась страшная вещь: оказалось, что угол сволочь, умеет разворачиваться на 360 градусов.

Затем выяснилась ещё более страшная вещь: ардуино без бубена может передавать только сволочные 256 значений из нужных 1024. А это никак не катит при необходимой точности в пол-градуса.

В общем бубен пришлось всё равно брать, но не просто с ним танцевать, а даже - стесняюсь сказать - заниматься сексом.

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

вопчем встречайте новый человек и пароход... ой, протокол и библиотека: "Кристина" (сделано в России).

Знакомьтесь:

Кристина, это сообщество.

Сообщество, это кристина

https://yadi.sk/d/W2VNiusBo3gc6

Те кто не побежал сломя голову скачивать новую фичу, дослушайте до конца:

Библиотеки писались для среды разработки ардуино(С++) и среды разработки Processing(Java).

По идее библиотека к ардуино, должна работать и для передачи между двумя платами ардуино, через serial-соединение. Так как ардуинка у меня только одна, прошу более состоятельных форумчан, протестировать кристинку на двух ардуинках.

Что касается компьютера, то ардуино(леонардо) с кристинкой, прекрасно отправляет даные, принимает данные и если нужно опять отправляет.

В кратце: функция отправки данных принимает два значения: сами данные от 0, до 9999, и индекс(например номер пина): от 0, до 29 (0-19 это 20пинов и ещё +10 резервных для каких нибудь нужд или сообщений). Данные разбиваются, и передаются в однобайтовом формате.

Функция приёма, декодирует, то бишь собирает этот бардак и обратно превращает в данные и индекс(чтобы знать откуда что прилетело).

Вопчем кто в теме, задавайте вопросы если что не понятно.

Клапауций 322
Offline
Зарегистрирован: 31.12.2015

allesanbr пишет:

вопчем (сделано в России).

нда - развелось чурок, шо тараканов на русской земле.

*allesanbr, что это за бред полоумного лемминга?

allesanbr
Offline
Зарегистрирован: 31.01.2016

И тебе всего наилучшего добрый человек.

;)

А теперь не мог бы ты потестить кристинку?

Клапауций 322
Offline
Зарегистрирован: 31.12.2015

allesanbr пишет:

А теперь не мог бы ты потестить кристинку?

переводи свой первый пост с нароссийского наречия русского языка на язык Чехова и Булгакова.

allesanbr
Offline
Зарегистрирован: 31.01.2016

Вы зря пачкаете ЫнтырнЭты. Либо Вы не на том форуме. Вам нужно что-то лингвистическое, меня же более волнуют вопросы прикладные, нежели проблема: почему Чехов и Булгаков не придумали какой нибудь С++.

Тяжело Вам наверное это осознавать. Но нам ничего, мы не заморачиваемся кодим потихоничку, как сказал бы Булгаков: "примусы ПОЧИНЯЕМ". не поплохело, не? Ну слава богу

kisoft
kisoft аватар
Offline
Зарегистрирован: 13.11.2012

Вы хотя бы книжки почитали про С++. Использование глобальных переменных в методе класса это уже нечто, предполагающее, что с предметом Вы не знакомы (наерное было желание память съэкономить). Процитирую исходник:

int ed,des,sot,tis,buf,chbuf,result;
...
void Christina::Send(int sVal, int indx)
{

  if(sVal > 999 && sVal < 10000)
    {
    tis = sVal/1000;
    sot = (sVal -(1000* tis))/100;
    des = (sVal-(1000*tis+100*sot))/10; 
    ed = sVal-(tis*1000+100*sot+10*des);
    }
   else if(sVal > 99 && sVal < 1000)
    {
    tis = 0;
    sot = sVal/100;
    des = (sVal-(100*sot))/10; 
    ed = sVal-(100*sot+10*des);
    }
  else if(sVal > 9 && sVal < 100)
    {
    tis = 0;
    sot = 0; 
    des = sVal/10; 
    ed = sVal-(10*des);
    }
   else if(sVal < 10 && sVal >= 0)
    {
    tis = 0;
    sot = 0; 
    des = 0;
    ed = sVal;
    }
else
	{
	return;
	}
	pin = Index[indx];
	Serial.write(pin);
	Serial.write(ed);
	Serial.write(des);
	Serial.write(sot);
	Serial.write(tis);
}

Отсутствие комментариев, возможно оправдано, однако хотя бы описание класса очень бы пригодилось вспомнить через неделю, зачем нужен класс с именем Christina. Ограничения в 0..29 и 0..9999 удивляют, зачем они в такие странные. Для таких модулей, как правило, очень полезно делать описание протокола обмена, поскольку здесь предполагается, что вторая сторона может быть как персоналкой, так и другой ардуиной. Тестировать? Спасибо, нет желания, увы. Надеюсь в следующий раз получится лучше. Удачи

 

allesanbr
Offline
Зарегистрирован: 31.01.2016

вообще-то я Вам предложил протестировать библиотеку, а не копать ея код.

для экономии и быстродействия нарушено всё возможное, и невозможное включая правила хорошего тона. Как результат,  стабильная работа без delay(), но аналог сам лжёт без этого. а цифру вполне можно юзать.

Ну да ладно...

"они такие странные" по той простой причине... в принципе я написал об этом вначале поста, но так уж и быть, для Вас специально объясню: Мне нужно было получить с ардуино четырёхзначное значение 1024, но так как самое большое четырёхзначное число 9999 то я не стал мелочиться. И эмммм Вы невнимательно изучили код - 9999 это скорее компромисс нежели ограничение. Да и какой смысл получать от ардуино бОльшее значение?

А что касается 0...29, то это да, таки ограничение, во вторых: для экономии памяти, и во первых: мне лень было инициализировать массив на 245 едениц для защиты "от дурака"

пы. сы.

хорошо хоть ты в джаву без декомпилятора не залезешь бе-бе-бе))))) там всё ещё веселее... но она хоть массив красивше передаёт.

allesanbr
Offline
Зарегистрирован: 31.01.2016

и эмммм... насчёт "получится лучше" - я не очень понял, что именно Вас не устроило.

По поводу Глобальных переменных, Вы сами ответили на своё возражение: в ардуино памяти далеко не 640кб, так что это действительно элементарная экономия памяти.

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

 

Так что именно должно лучше получиться то? Поймите правильно, я не уговариваю, просто мне непонятна суть претензии.

kisoft
kisoft аватар
Offline
Зарегистрирован: 13.11.2012

Вы считаете моё сообщение претензией? Увольте. Хотел помочь, да видно зря потратил время. Извините, ошибся.

 

allesanbr
Offline
Зарегистрирован: 31.01.2016

в представленной мной библиотеке что-то не работает?

чем помочь то?

allesanbr
Offline
Зарегистрирован: 31.01.2016

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

Напоминаю: Хотелось бы выяснить работоспособность протокола и библиотеки между двумя платами ардуино. И меня вовсе не интересует кто и как мастурбирует на написание моего кода.

Пишите пожалуйста по теме.

lexaez
Offline
Зарегистрирован: 23.01.2016

Хочу попробовать к своему проекту, объясните что к чему в скетче примера, где назначение считывающего пина, а где пишушего.

allesanbr
Offline
Зарегистрирован: 31.01.2016

Пин не может быть не считывающим, ни пишущим. Пин может иметь данные(data) и иметь номер который Вы ему присвоили в кристине - это index.

Аналоговый Пин получает данные с датчика от 0 до 1023 (или 4095) Но любому пину Вы присваиваете индекс сами, в методе Christina.Send(data, индекс) по этому индексу Вы отлавливаете данные data(например data =  analogRead(PIN_A0) то бишь данные с данного пина -  отлавливаете на другом конце com-соединения, с помощью(опускаем обязательное christina.Get();)  чтения указателей на массив ln = christina.block();

 arr[0] = *(ln+0);
 arr[1] = *(ln+1);

нужно понимать, что на этот раз данные не в нулевом, а в первом элементе массива, а в первом индекс, то есть номер датчика от 0 до 29 который Вы ему присвоили при отправке.

Какие именно строки примера Вас интересуют?

и да, Вы пытаетесь передать/прочитать данные с ардуино на компьютер, иди же с ардуино на ардуино?

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

Yarik.Yar
Offline
Зарегистрирован: 07.09.2014

allesanbr, попрошу без оскорблений и непристойностей. Да-да, естественное не безобразно, но всё же.

allesanbr
Offline
Зарегистрирован: 31.01.2016

я конечно дико извиняюсь, но некий "Клапауций 322" вообще обозвал меня чуркой, что квалифицируется статьёй №282 УК РФ. В то время как я стараюсь не выходить за рамки уголовного кодекса.

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

Многообещаюшее название темы, а суть та же - раскрашиваем новыми цветами старый паровоз. Та же Леонардо ведь обладает гигантскими возможностями в области передачи данных. Заглянем в даташит:

USB 2.0 Full-speed/Low Speed Device Module with Interrupt on Transfer Completion
– Complies fully with Universal Serial Bus Specification Rev 2.0
– Supports data transfer rates up to 12Mbit/s and 1.5Mbit/s
– Endpoint 0 for Control Transfers: up to 64-bytes
– Six Programmable Endpoints with IN or Out Directions and with Bulk, Interrupt or
Isochronous Transfers
– Configurable Endpoints size up to 256 bytes in double bank mode
– Fully independent 832 bytes USB DPRAM for endpoint memory allocation
– Suspend/Resume Interrupts
– CPU Reset possible on USB Bus Reset detection
– 48MHz from PLL for Full-speed Bus Operation
– USB Bus Connection/Disconnection on Microcontroller Request
– Crystal-less operation for Low Speed mode

Эти возможности где нибудь используются? Пропихивать по USB2.0 по одному байту через эмуляцию ком-порта - ну не серьёзно уже.

kisoft
kisoft аватар
Offline
Зарегистрирован: 13.11.2012

allesanbr пишет:

в представленной мной библиотеке что-то не работает?

чем помочь то?

Этот говнокод Вы называет библиотекой?

 

allesanbr
Offline
Зарегистрирован: 31.01.2016

Ви будете смияццо, но это целых ДВЕ библиотеки, плюс один протокол.

И как бы ви не блевали - оно таки работает.

Так что заканчивайте корчить здесь ламера, и пожуйте салфетку.

 

allesanbr
Offline
Зарегистрирован: 31.01.2016

--->>Эти возможности где нибудь используются? Пропихивать по USB2.0 по одному байту через эмуляцию ком-порта - ну не серьёзно уже.

Перечитываем топик:

требуется получить с аналового пина ардуино, и отправить на другое устройство информацию о положении некоего объекта в градусах.

необходимая минимальная точность: 0.5 градуса. Таких датчиков требуется минимум 6

Предлагайте варианты более быстрого, более эффективного, и более точного решения этой задачи. С использованием того, что Вы перечислили. Желательно с примером кода.

 

Yarik.Yar
Offline
Зарегистрирован: 07.09.2014

Присоединяясь к утверждению о говнокоде. Очередной лисапед, кривой написанный и не делающий ничего особенного. Защита типа "Ну я хоть что-то как-то сделал, а вы и этого не можете" не принимается. Во-первых, можем, а во-вторых, если делать - то хорошо, а не абы как.

allesanbr
Offline
Зарегистрирован: 31.01.2016

Перечитываем топик:

требуется получить с аналового пина ардуино, и отправить на другое устройство информацию о положении некоего объекта в градусах.

необходимая минимальная точность: 0.5 градуса. Таких датчиков требуется минимум 6

Предлагайте варианты более быстрого, более эффективного, и более точного решения этой задачи. С использованием того, что Вы перечислили. Желательно с примером кода.

 

Что касается защиты, то: ЭТО работает - просто, быстро, надёжно. Если Вы предложите более эффективный вариант, я раскаюсь в изобретении очередного велосипеда.

kisoft
kisoft аватар
Offline
Зарегистрирован: 13.11.2012

allesanbr пишет:

Ви будете смияццо, но это целых ДВЕ библиотеки, плюс один протокол.

И как бы ви не блевали - оно таки работает.

Так что заканчивайте корчить здесь ламера, и пожуйте салфетку.

 


Два высера вместо одного, это круто.
На счёт заканчивать, я извинился, а ты нахамил. Начни с себя.

Yarik.Yar
Offline
Зарегистрирован: 07.09.2014

Вот, я же говорил) "человек хоть как-то сделал, а мы, злые, тупые и нехорошие гасим его творческий потенциал.

allesanbr
Offline
Зарегистрирован: 31.01.2016

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

...эммм альтернативный не говоря уже - более эффективный - вариант решения задачи никто из критиков мне так и не представил. Впрочем (с)"Заметьте! не я это предложил"... по поводу остального.

Это лучший комплимент. Всем спасибо! Все свободны))))))

Посему получается: не "как-то сделал", а готовый к использованию протокол: "бери пользуйся". Так что подумайте хорошенько над словом "говнокод".

 

 

allesanbr
Offline
Зарегистрирован: 31.01.2016

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

фу-у-у... даже мне за Вас стыдно.

Но мы отвлеклись от темы. Я таки не проверил, работает ли это между двумя платами ардуино?

__Alexander
Offline
Зарегистрирован: 24.10.2012

Если на ПК всё равно собирать в кучу и проводить какие-то действия, то легче отправить два байта сырых данных.

allesanbr
Offline
Зарегистрирован: 31.01.2016

так оно и происходит, под (IDE)процессинг для компьютера также реализована эта библиотека(на Java). Кристинка максимально унифицирована как для плат ардуино, так и для компьютера.

kisoft
kisoft аватар
Offline
Зарегистрирован: 13.11.2012

allesanbr пишет:

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

фу-у-у... даже мне за Вас стыдно.

Но мы отвлеклись от темы. Я таки не проверил, работает ли это между двумя платами ардуино?

О, ты предлагает мне сделать код лучше чем этот? Тогда почему ты меня гонишь и постоянно пытается оскорбить? Чего то боишься? Сначала называет ламером, а потом что то ждёшь от меня, ламера? Вот только у меня так не получится, как у тебя, потому не буду отбирать у тебя твой хлеб.

Мы не отвлекались от темы, это ты отвлекся. Продолжай дальше.

 

 

 

Yarik.Yar
Offline
Зарегистрирован: 07.09.2014

ИМХО, критика была обоснованной.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

allesanbr,

Вы пожалуйста определитесь что именно Вы сделали, а то в показания путаетесь.

В одном месте Вы пишете:

allesanbr пишет:

требуется получить с аналового пина ардуино, и отправить на другое устройство информацию о положении некоего объекта в градусах. необходимая минимальная точность: 0.5 градуса. Таких датчиков требуется минимум 6

А в другом:

allesanbr пишет:

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

Так всё-таки, что Вы сделали? Решили конкретную задачу про шесть датчиков? Или сделали универсальный протокол? Если конкретную задачу, то молодец, поздравляю, но причём здесь "бери и польуйся"? А если мне семь датчиков нужно? Если же это универсальный протокол, так его и обсуждайте, чего Вы везде свои шесть датчиков пихаете?

allesanbr пишет:

Я таки не проверил, работает ли это между двумя платами ардуино?

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

allesanbr пишет:

Так что подумайте хорошенько над словом "говнокод".

А чего тут думать, Вы сами-то свой код видели? Если Вы не знаете значения этого слова, так знайте - вот это оно самое и есть.

Однако, я склонен поздравить Вас с решение Вашей задачи с шестью датчиками. Молодец! Судя по коду, программировать Вы не умеете, а задачу теме не менее решили. Поздравляю!

 

allesanbr
Offline
Зарегистрирован: 31.01.2016

--->>>Решили конкретную задачу про шесть датчиков? Или сделали универсальный протокол?

 

Решил конкретную задачу, написав универсальный протокол и библиотеку для его реализации причём на двух языках... а так-то да-а программировать не умею.

Про датчики: Датчиков шесть, индексов тридцать, пинов у ардуино двадцать... Улавливаете мысль?

 

"так тебя растак! это я то не умею программировать?! да я..." Именно это Вы хотите от меня услышать? Лет пятнадцать назад, я бы отреагировал наверное так, но теперь мне просто интересно: что конкретно Вам не нравится в моём коде, и как это отражается на алгоритме выполнения программы?

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

И да! Спасибо за поздравления!

allesanbr
Offline
Зарегистрирован: 31.01.2016

IMHO не вижу никакой критики.

ПОЦиентам что-то не нравится, а что именно они стесняются сказать.

Клапауций 322
Offline
Зарегистрирован: 31.12.2015

allesanbr пишет:

я конечно дико извиняюсь, но некий "Клапауций 322" вообще обозвал меня чуркой, что квалифицируется статьёй №282 УК РФ. В то время как я стараюсь не выходить за рамки уголовного кодекса.

предъяви свою статью некому В.В.Путину - он обозвал половину граждан Украины новороссами.

так, что, руский чурка, засунь свой УК РФ себе в задницу - я ему(УК РФ) не подчиняюсь, т.к. не являюсь гражданином РФ и не нахожусь на территории РФ.

если ты считаешь, что твои права как недогражданина РФ были ущемлены гражданином другой страны, то напиши в СПОРТЛОТО.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

allesanbr пишет:

Про датчики: Датчиков шесть, индексов тридцать, пинов у ардуино двадцать... Улавливаете мысль?

Нет, а что, должен? Какую именно мысль я должен уловить?

allesanbr пишет:

Подозреваю, что Вы реально не видели ужасной реализации алгоритмов

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

allesanbr пишет:

но теперь мне просто интересно: что конкретно Вам не нравится в моём коде

Я мог бы говорить много и приводить много примеров, но достаточно того, что уже привёл уважаемый коллега в посте №5. Такого рода код говорит о безграмотности программиста больше, чем 100500 его ударов себе в грудь.
 

 

allesanbr
Offline
Зарегистрирован: 31.01.2016

а ещё я скобочки ставлю под- а не сразу после объявления функции. И - о ужас! - загоняю их табом по самое небалУйся.

)))

Детки, мне абсолютно параллельно ваше опрокидывание на пол и дрыгание ногами. А вот то, что я (по крайней мере в этой ветке) не увидел ни одного коммента по теме, да и вообще не увидел ничего кроме оффтопа, характеризует данное сообщество... мягко говоря не с самой лучшей стороны.

Я конечно понимаю, что гормоны и всё такое... Но уважаемые господа, вам стОит задуматься о том, чтобы прекратить делать из форума помойку.

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

Но нет, Вы не уважаете не только своих врагов, но и своих союзников, посему господа, мне вас очень жаль.

Теперь о конструктивной критике.

Итак:

уважаемый __Alexander, сказал о том, что проще "отправить ДВА байта сырых данных", Но у меня отправляется пять байт. Но он косвенно прав, ибо можно реализовать этот же протокол немного по другому принципу, то есть отправлять не пять байт, а три. Хотя и не два как предлагал __Alexander, но замечание его считаю справедливым, не смотря на то, что он по видимому не вникал в код.

Хотя пока-что не существует необходимости в (почти)два раза ускорить передачу данных, но если вдруг она возникнет, и её(скорость) будет невозможно увеличить количеством бод - то буду иметь ввиду эту возможность.

 

kisoft
kisoft аватар
Offline
Зарегистрирован: 13.11.2012

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

Пациент безнадежен.

Продолжай в том же духе, гений.

 

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

allesanbr пишет:

А вот то, что я (по крайней мере в этой ветке) не увидел ни одного коммента по теме,

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

Что же до нас сирых и убогих - не понимающих твоего высокого полёта, обрати внимание, это не мы пришли к тебе с просьбой осчастливить нас твоим гениальным творением, а ты пришёл к нам, чтобы выслушать похвалы о ощутить поглаживание по головке. А когда услышал мнение, которое тебе не понравилось, надул губки и обиделся. Ну, ничего, поплачь, полегчает.

Удачи во всём!

P.S. Кстати, а почему нет ответа на мой вопрос "Какую именно мысль я должен уловить?". Я дейсивтельно не понял, что там за мысль, мне интересно. Трудно ответить?

allesanbr
Offline
Зарегистрирован: 31.01.2016

--->>>использование глобальных переменных в методе класса

К каким же ужасным последствиям приводит столь страшный грех?

И да, ещё я юзаю goto, и не считаю это дурным тоном. Может расскажешь "мальчику" как это не хорошо?

А коммента по теме таки да, я не увидел. Ну нет его. Отсутствует как класс.

 Видимо сюда слетелись гуры недоделанные. Способные лишь учить новичков как моргать диодами с помощью ардуино.

Если это была попытка троллинга, то лично для меня это слишком толсто. Никто из критиков, не привёл ни одного аргумента своей правоты. Неспособность отстоять свою точку зрения есть высшее проявление лузерства.

Может кто нибудь ещё попытается?

Мне просто интересно: присутствует ли на этом форуме хоть один адекватный человек?

И ....эмммм кто из вас придумал не использовать глобальные переменные в методе класса?

Стесняюсь спросить: где же их использовать?

)))))))))))

 

Клапауций 322
Offline
Зарегистрирован: 31.12.2015

allesanbr пишет:

Мне просто интересно: присутствует ли на этом форуме хоть один адекватный человек?

ты единственный.

все отсальные - неадекватные русофобы, фашисты, нацисты, массоны, рептилоиды, хипстеры, атеисты и программисты.

allesanbr
Offline
Зарегистрирован: 31.01.2016

Клапауций 322 пишет:

все отсальные - неадекватные русофобы, фашисты, нацисты, массоны, рептилоиды, хипстеры, атеисты и программисты.

Слово "программисты" здесь лишнее. Ибо употребление слова "говнокод" никого ещё не сделало программистом. А употребление этого слова, да ещё и без приведения доводов - обнаруживает явного ламера.

Так что с "программистами" Вы погорячились.

))))))

Клапауций 322
Offline
Зарегистрирован: 31.12.2015

allesanbr пишет:

Слово "программисты" здесь лишнее.

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

allesanbr
Offline
Зарегистрирован: 31.01.2016

Меня "удивило" отсутствие прикладной оценки моего - как здесь принято говорить - говнокода.

хотя... я упоминал здесь уже про тот боянистый анекдот:

Американский форум: задал вопрос - получил ответ.
Израильский форум: задал вопрос - получил вопрос.
Русский форум: задал вопрос и потом долго выслушиваешь какой ты мудак.

Так что итог был немного предсказуем. Но я - будучи оптимистом - ищу в людях лучшее. Но к сожалению, получается это далеко не всегда.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

allesanbr пишет:

--->>>использование глобальных переменных в методе класса

К каким же ужасным последствиям приводит столь страшный грех?

Да, ни к каким.

А к каким страшным последствиям приводит использование желто-зелёного провода для подключения фазы в электропроводке? Тоже ни к каким, если правильно соединено. Однако, если видишь, что фаза идёт по жёлто-зелёному, сразу понимаешь, что проводку делал безграмотный чайник. Почему? Да просто потому, что профессионалы так не делают. 

Однако, для тебя это не аргумент, я понимаю, ты просто не знаешь кто такие профессионалы и понятия не имеешь, как они делают.

Да, и ещё, ты тут плачешь, что по сути никто с тобой не говорит. Так я уже в третий раз повторяю свой вопрос:

ЕвгенийП пишет:

allesanbr пишет:

Про датчики: Датчиков шесть, индексов тридцать, пинов у ардуино двадцать... Улавливаете мысль?

Нет, а что, должен? Какую именно мысль я должен уловить?

Ответ по сути будет или опять одно хамство?

__Alexander
Offline
Зарегистрирован: 24.10.2012

allesanbr пишет:

уважаемый __Alexander, сказал о том, что проще "отправить ДВА байта сырых данных", Но у меня отправляется пять байт. Но он косвенно прав, ибо можно реализовать этот же протокол немного по другому принципу, то есть отправлять не пять байт, а три. Хотя и не два как предлагал __Alexander, но замечание его считаю справедливым, не смотря на то, что он по видимому не вникал в код.

1. Про два байта это ответ на ваши "сволочные 256 байт" вместо 1023. 

2. У вас обычная функция на пару десятков строк (это даже не бибилиотека), где вы разложили число на десятки/единицы/сотни и отправили по уапп. Куда тут вникать? Такие функции пишутся любым программистом около сотни за рабочий день. Тут нечего критиковать, вам нужна эта функция - пользуйтесь, остальные себе такое сами напишут.

allesanbr
Offline
Зарегистрирован: 31.01.2016

__Alexander пишет:

2. У вас обычная функция на пару десятков строк (это даже не бибилиотека), где вы разложили число на десятки/единицы/сотни и отправили по уапп. Куда тут вникать? Такие функции пишутся любым программистом около сотни за рабочий день. Тут нечего критиковать, вам нужна эта функция - пользуйтесь, остальные себе такое сами напишут.

---->>>вы разложили число на десятки/единицы/сотни и отправили...

То есть на другом конце нужно написать фукцию которая соберёт всё это обратно. А это уже: протокол. То есть соглашение, а точнее согласование - приём/передача.

Простой как молоток, но тем не менее протокол.

--->>>остальные себе такое сами напишут

Вот чтобы не приходилось себе писать, для того и написано, кроме того, библиотека реализована и на Java под процессинг, что новичку в программировании возможно написать, только при огромнейшей трудоспособности и таланте к изучению языков программирования. А что ему делать если у него гениальная идея по механике и выведению данных в тот же компьютер? Учить джаву?

Первоначально я хотел реализовать свой проект на платформе MIPSfpga. Благо подсказали что есть такой контроллер как "ардуино" который стОит далеко не пятнадцать тысяч рублей, при этом имеет в наличии весь необходимый минимум ресурсов и способностей.

В моём проекте, контроллеру отведена роль регистратора с гирлянды датчиков, и отправка их на серьёзную машину для последующей обработки. Отсюда принцип: "данные, индекс". То есть номер датчика(индекс), и полученное с него значение(данные). Есть конечно библиотека firmata, но мне она показалась очень ресурсоёмкой. Поэтому  я и написал то, что написал.

 

__Alexander
Offline
Зарегистрирован: 24.10.2012

Для создания сети удобно использовать Multi-processor Communication Mode. Удобная штука.

allesanbr
Offline
Зарегистрирован: 31.01.2016

__Alexander пишет:

Для создания сети удобно использовать Multi-processor Communication Mode. Удобная штука.

Принцип тот же, только на более низком уровне. Multi-processor Communication Mode адресует платы, кристинка "адресует" датчики - то бишь пины.

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

Господи, какая гнусь и говнокод! И "это" ещё называют библиотекой, ахахах. Ничего, самомнение с возрастом проходит ;)

allesanbr
Offline
Зарегистрирован: 31.01.2016

DIYMan пишет:

Господи, какая гнусь и говнокод! И "это" ещё называют библиотекой, ахахах. Ничего, самомнение с возрастом проходит ;)

С возрастом проходит - срать оффтопом.

А можно поинтересоваться чем Вы компилируете "import"- библиотеки под Processing?

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

allesanbr пишет:
DIYMan пишет:

С возрастом проходит - срать оффтопом. А можно поинтересоваться чем Вы компилируете "import"- библиотеки под Processing?

Ну почему же оффтоп? Совсем даже в тему. Вы чего хотели то? Чтобы вам тут все сразу поклонялись и возвели вашу "библиотеку" в ранг бесценного дара от почитаемого гуру? Так не будет этого, по трём, хотя бы причинам:

1. Говнокод, непортабельный, нереентерабельный, голимый говнокод.

2. Тривиальщина. Подобные задачи решаются ровно за 5 минут, без написания каких-либо "библиотек". Причём решаются без тупых ограничений типа 9999 и 0..29, потому как для нормального программиста всякие там magic numbers - моветон по определению.

3. Вам уже не раз указали на то, чем является ваша "библиотека" - отнеситесь критически, и учитесь, учитесь, учитесь. Опыт, он - сын ошибок трудных, внук говнокода, и правнук - огромного новичкового самомнения. Так что - плите Шура, пилите, они золотые!

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

Экскьюз ми мой французский - на самом деле я добрый :)

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

allesanbr,

может всё-таки ответишь на мой вопрос (см. пост  №42 и ещё штуки три выше), или ты только хамить всем умеешь, а по делу поговорить - язык в одно место утягивает?