Прошу помощи по организации программы.

Sonologist
Sonologist аватар
Offline
Зарегистрирован: 08.06.2018

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

I блок: Настройка и реализация нагрева ТЭНов

Энкодер1:  вывод А на прерывании INT0

                  вывод В на pin4

Кнопка1:     на прерывании INT1

Последовательность:

Нажатие 1      переход к настройке значения паспортной мощности ТЭНа

Вращение       настройка значения паспортной мощности ТЭНа

Нажатие 2      фиксация значения паспортной мощности ТЭНа

                      переход к настройке значения подаваемой мощности

Вращение      настройка значения подаваемой мощности

Нажатие 3     фиксация значения подаваемой мощности

                     расчет необходимых параметров

                     выполнение рассчитанных параметров

Нажание 4     переход на «Нажатие 1»

II блок: Настройка и реализация термостата

Энкодер2:      вывод А на прерывании INT2

                     вывод В на pin16

Кнопка2:       на прерывании INT3

Последовательность:

С запуска программы постоянно идет измерение температуры датчиком ds18b20 (one_wire.h)

Нажатие 1      значение температуры отсечки уравнивается с текущей температурой

                     переход к настройке значения температуры отсечки

Вращение      настройка значения температуры отсечки

Нажатие 2     фиксация значения температуры отсечки

                     расчет необходимых параметров   

                     выполнение работы термостата на основе рассчитанных параметров

Нажание 3     переход на «Нажатие 1»

 

III блок: Настройка клапана отбора

Энкодер3:      вывод А на прерывании INT4

                      вывод В на pin17

Кнопка3:        на прерывании INT5

Последовательность:

Нажатие 1      переход к настройке параметров работы клапана

Вращение      настройка параметров работы клапана

Нажатие 2      фиксация параметров работы клапана

                      расчет необходимых параметров

                     выполнение рассчитанных параметров

Нажание 3     переход на «Нажатие 1»

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

Заранее спасибо за помощь! 

 

 

wdrakula
wdrakula аватар
Онлайн
Зарегистрирован: 15.03.2016

Sonologist пишет:
...в связи с латенцией термодатчиков ds18b20.

очень слово красивое.... так бы и повторял! ;))))

Sonologist
Sonologist аватар
Offline
Зарегистрирован: 08.06.2018

wdrakula пишет:

очень слово красивое.... так бы и повторял! ;))))

А что тут такого? Латенция - задержка всего лишь....

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

Sonologist пишет:
все действия энкодером и кнопок и их выполнения не задерживались в связи с латенцией термодатчиков ds18b20.
А может просто написать работу с датчиком без латенции? И просто убрать проблему, вместо того, чтобы её героически решать?

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

Уважаемый, а нахрена Вам прерывания? Вы хотя-бы себе объясните. Ради скорости? - Это на ТэНах - не смешите мои тапки. Ради экономии злектоэнергии? Идите на ТэНах.

А так, да, красиво написали...

asam
asam аватар
Offline
Зарегистрирован: 12.12.2018

mykaida пишет:

Уважаемый, а нахрена Вам прерывания? Вы хотя-бы себе объясните. Ради скорости? - Это на ТэНах - не смешите мои тапки. Ради экономии злектоэнергии? Идите на ТэНах.

А так, да, красиво написали...

Прежде чем смеяться - ты хоть прочитал внимательно. Причем здест ТЭНы?

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

- ТЭНы тут не причем
- Смешного ничего нет

nik182
Offline
Зарегистрирован: 04.05.2015

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

Sonologist
Sonologist аватар
Offline
Зарегистрирован: 08.06.2018

nik182 пишет:

 Вы ж ужались с восьми до трёх.  

Ужался конечно, но тут как раз удачное совпадение: три блока - три энкодера с кнопками. Как раз 6 пинов внешних прерываний. Почему нет? Сводить все к одному энкодеру не буду точно: продолжаю считать ползание по меню данью чистой скаредностью по отношению к финансам. При это придется платить неудобством.

Sonologist
Sonologist аватар
Offline
Зарегистрирован: 08.06.2018

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

А может просто написать работу с датчиком без латенции? 

КАК ЭТО СДЕЛАТЬ???!!! Или я совсем ох...ел как тот кот Баюн или куда деться от промежутка времени между запросом на термодатчик и его ответом (эти саму примерно 800 мсек)?

Sonologist
Sonologist аватар
Offline
Зарегистрирован: 08.06.2018

nik182 пишет:

Я помню что вы любите ручку на каждый параметр, но всё ж это микроконтроллер

А что плохого в этой любви? Просто, наглядно и оперативно. Не надо ползать по меню как вошь по сковородке. Я сейчас с успехом использую именно в таком режиме связь "ПК-Ардуино-автоматика". Все отлично работает, все наглядно (на мониторе 19" все параметры как на ладони). Но вот захотелось "все-про-все" возложить чисто на Ардуино. Да, в программировании его я пока слаб, но учусь. В том числе, на конкретных задачах. В чем "белая горячка"?

sadman41
Offline
Зарегистрирован: 19.10.2016

1) Дать DS-ке команду на конвертацию;
2) 800мс грабить корованы;
3) Считать результат с датчика:
4) Profit!

 

Sonologist
Sonologist аватар
Offline
Зарегистрирован: 08.06.2018

Асам, спасибо. Я на этом форуме уж лет 5 наверное, прочитал все (наверное), в том числе и эти ссылки. Подобного там, кстати в разы больше. Но многое мне не подходит идеологически (скажем так). В конце концов, могу я попробовать реализовать собственные хотелки под собственное понимание процесса?

Sonologist
Sonologist аватар
Offline
Зарегистрирован: 08.06.2018

Sonologist пишет:

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

А может просто написать работу с датчиком без латенции? 

КАК ЭТО СДЕЛАТЬ???!!! Или я совсем ох...ел как тот кот Баюн или куда деться от промежутка времени между запросом на термодатчик и его ответом (эти самые примерно 800 мсек)?

Sonologist
Sonologist аватар
Offline
Зарегистрирован: 08.06.2018

sadman41 пишет:

1) Дать DS-ке команду на конвертацию;
2) 800мс грабить корованы;
3) Считать результат с датчика:
4) Profit!

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

qwone
qwone аватар
Offline
Зарегистрирован: 03.07.2016

Я бы предложил делать через квонокод. Но к сожалению все равно бесполезно.

asam
asam аватар
Offline
Зарегистрирован: 12.12.2018

Sonologist пишет:

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

Вам же не надо мерять температуру 10 раз в секунду? Предположим у нас температура измеряется мнгновенно. Тогда алгоритм, обычно выглядит так.

1 Меряем температуру
2 Делаем что-нибудь с этой температурой
3 Делаем что-нибудь еще
4 Возвращаемся к п1

В случае задержки с измерением сделать по-простому можно так:

0 Запускаем измерение Т и запоминам время (millis)
1 Ждем в цикле пока не пройдет 800mS (читаем millis)
1.1 Cчитываем температуру
1.2 Запускаем измерение Т и запоминам время (millis)
2 Делаем что-нибудь с этой температурой
3 Делаем что-нибудь еще
4 Возвращаемся к п1

 

 

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

asam пишет:

Прежде чем смеяться - ты хоть прочитал внимательно. Причем здест ТЭНы?

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

- ТЭНы тут не причем
- Смешного ничего нет

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

asam
asam аватар
Offline
Зарегистрирован: 12.12.2018

mykaida пишет:

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

А нефиг над человеком смеяться если ничего сам не понимаешь.

Что бы энкодер нормально работал с ним надо работать или по прерыванию или опрашивать часто (скажем не реже чем в миллисекунду) и регулярно. Иначе пользоваться им становится от неудобно до мучительно.

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

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

asam пишет:

А нефиг над человеком смеяться если ничего сам не понимаешь.

Что бы энкодер нормально работал с ним надо работать или по прерыванию или опрашивать часто (скажем не реже чем в миллисекунду) и регулярно. Иначе пользоваться им становится от неудобно до мучительно.

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

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

asam
asam аватар
Offline
Зарегистрирован: 12.12.2018

mykaida пишет:

Мы, уважаемый, с Вами на брудершафт не пили... 

Можно подумать ты с Megawollt пил - http://arduino.ru/forum/pesochnitsa-razdel-dlya-novichkov/schitat-eeprom#comment-418181

И меня нах посылать отсутствие совместной пьянке тебе тоже не помешало - http://arduino.ru/forum/pesochnitsa-razdel-dlya-novichkov/schitat-eeprom#comment-418181

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

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

asam пишет:

В конце концов я тебя просто старше. Так что тыкать имею моральное право.

Не фак, а вдруг просто младьше - тогда имеете обязанность сказать ВЫ. Хотя к богу, обычно, обращаются на ты - я это буду так понимать :)

wdrakula
wdrakula аватар
Онлайн
Зарегистрирован: 15.03.2016

ой как мило!
1. мы в сети, тут принято "ты", как основная форма. Остальное определяется традициями площадки.
2. Асам сильно грамотнее оппонента, это даёт ему дополнительные права.
3. Нехера нести чушь! Энкодеры по возможности нужно вешать на прерывания.
4. Даллас ни каким боком не приводит к задержкам. Это уже стопицот раз обсуждалось на форуме. кидаешь запрос на все датчики и взводишь таймер. через секунду вычитываешь их.

Sonologist
Sonologist аватар
Offline
Зарегистрирован: 08.06.2018

Asam, Вы пишете такую последовательность:

0 Запускаем измерение Т и запоминам время (millis)
1 Ждем в цикле пока не пройдет 800mS (читаем millis)
1.1 Cчитываем температуру
1.2 Запускаем измерение Т и запоминам время (millis)
2 Делаем что-нибудь с этой температурой
3 Делаем что-нибудь еще

4 Возвращаемся к п1 

У меня как раз с такой последовательностью и была затыка, связанная с задержкой. Получается, что пока не датчик "не отыграет" полный цикл "получил вопрос-дал ответ" (пункты 0->1.1)? программа ни на что не отвечает и ничего не делает. Я бы предположил поместить "все-все-все-про все" сразу после запроса к датчикам, а считывать их данные через 800мсек по millis. Но тут вопрос: разрешается ли подвать запрос на датчик, не получив ответа?

sadman41
Offline
Зарегистрирован: 19.10.2016

Sonologist, датчик тут непричем. Вы пользуетесь библиотекой в самом её простом применении - с блокирующим чтением. Изучите её получше и получите ответы на стотыщмильенов вопросов.

-NMi-
Offline
Зарегистрирован: 20.08.2018

О... блее... самоплясники появилисо на форуме...   )))

Ну... за дурдуину !!! Ух, хорошо пошла !!!

Кароче, смотри как это сделано у меня:

На любом таймере делаешь счётчик в 1/2 секунды - это врема для обновления LCD.

2 * 1/2 секунды = 1 секунде - это время для датчиков 18B20. Их у меня 10 штук реализовано, используются не все.

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

Энкодер...... я их не люблю, у меня джойстики любимые...

Как я опрашиваю джойстик: на любом таймере делаешь счётчик, в моём случае счётчик переполняется около 30 раз в секунду. Привязываешь АППАРАТНО переполнение счётчика к событию ADC в режиме FreeRunning. Получается, что у меня ~~ 30 раз в секунду аппаратно запускается ADC конвертер.В обработчике прерывания ADC сохраняешь текущее значение ADC , меняешь канал ADC и так далее по кругу. По итогу оси X и Y опрашиваются ~~ 15 раз в секунду. Кнопка джойстика опрашивается в обработчике таймера 30 раз в секунду. Заметь!!! я НИКОГО не жду !!!

Далее... раз в секунду выставляется ГЛОБАЛЬНЫЙфлаг обновления системы, что это:

Перерасчёт ПИД регулаторов на новые значения и запоминание расчётных составляющих.

Обновление буфера вывода на дисплей.

Обновление температуры 18B20

И тд...

Самое важное - обновляю раз в минуту в EEPROM-е текущее состояние программы, чтобы если был скачёк по напряжению иль глюк - программа ВОЗОБНОВИЛА своё состояние АПОСЛЯ глюка !!!

Естественно, вычдог АППАРАТНО взведён на 8 секунд и БДИТ всИхда !!!

Вкратце, у меня сделано так...   )))

sadman41
Offline
Зарегистрирован: 19.10.2016

Вижу, MNI, ваши псевдоталанты сверстникам не кажутся достойными обсуждения - приходится пятикласснику в детский сад (по его мнению) ходить чтобы похвалиться. Ну и обосрать всех присутствующих заодно чтоб.

Sonologist
Sonologist аватар
Offline
Зарегистрирован: 08.06.2018

Друзья, спасибо за помощь. Похоже, справился с задачей отвязаться от задержки термодатчика. Вот этот пробный код работает адекватно. Больше чем уверен, что там полно ляпов с программистской точки зрения, не пинайте. Важно, что и температуру кажет и настройку температуры отсечки отображает и энкодер с кнопкой ри латенции не зависят. Можно было бы обойтись только 1-Wire.h, но DallasTemperature.h присобачена на будущее для использования нескольких датчиков. 

// Плата Ардуино Мега 2560. 
                      //Подключаем библиотеки термометра 
#include <OneWire.h>
#include <DallasTemperature.h>
#define ONE_WIRE_BUS_rc 22//Объявление пина температурного датчика
                      //Подвязывание переменной к библиотекам
OneWire oneWire_out_rc(ONE_WIRE_BUS_rc);
DallasTemperature sensor_rc(&oneWire_out_rc);
int rc; //Объявляем переменную температуры колонны               
unsigned long ds_latency; //Объявляем переменную задержки времени для считывания датчика температуры
//Подключаем библиотеку LedControl.h
#include "LedControl.h" 
/*
din - пин 52  
cs -  пин 50
clk - пин 498
четвертая цифра "X" - количество модулей
*/
//создаём объект класса LedControl (din,clk,cs,X)
LedControl lc = LedControl(52, 48, 50, 2);  
/*
Энкодер В - серый
Энкодер А - синий
Кнопка - фиолетовый 
Ардуино Мега 2560 пины внешнего прерывания:
пин 2 (прерывание 0) 
пин 3 (прерывание 1) 
пин 18 (прерывание 5) 
пин 19 (прерывание 4) 
пин 20 (прерывание 3) 
пин 21 (прерывание 2)
*/
volatile int enc_rc_val=0;          //Объявляем переменную значений энкодера = 0
volatile int enc_rc_stat_a;         //Объявляем переменную состояния вывода А энкодера
volatile int enc_rc_stat_b;         //Объявляем переменную состояния вывода B энкодера


//Массив с закодированными символами (в SetRow нумеруются с 0!)
byte bukvy[37] = 
              {
                B01110111,    //A-1
                B01111111,    //B-2
                B01001110,    //C-3
                B01001111,    //E-4
                B01000111,    //F-5
                B01011110,    //G-6
                B00110111,    //H-7
                B00111000,    //J-8
                B00001110,    //L-9
                B01111110,    //O-10
                B01100111,    //P-11
                B01011011,    //S-12
                B00111110,    //U-13
                B00111011,    //Y-14
                B01101101,    //Z-15
                B01011111,    //Б-16
                B01000110,    //Г-17
                B01111001,    //З-18
                B01110110,    //П-19
                B00110011,    //Ч-20
                B00011111,    //Ь-21
                B00011111,    //b-22
                B01001110,    //c-23
                B00111101,    //d-24
                B00010111,    //h-25
                B00010000,    //i-26
                B00011000,    //j-27
                B00001100,    //l-28
                B00010101,    //n-29
                B00011101,    //o-30
                B00011100,    //u-31
                B00000101,    //г-32
                B01100011,    //"°"-33
                B00001000,    //"_"-34
                B00000001,    //"-"-35
                B00001001,    //":"-36
                B00000000,    //"пусто "-37
              };
void setup()
{
  pinMode(4, INPUT); //пин чтения вывода В энкодера
  attachInterrupt(0, encoder_rc, RISING);  //пин прерывания (№2) вывода А энкодера  
  attachInterrupt(1, button_rc, RISING);  //пин прерывания (№3) кнопки     

  //Serial.begin (115200);//Инициализация порта вывода
                  //Инициализация модуля индикаторов
  lc.shutdown(0, false); //Устройство(7-ми сегментный дисплей) выводим из спящего режима
  lc.setIntensity(0,8);  //Яркость дисплея на 8. Всего возможных режимов яркости от 0 до 15
  lc.clearDisplay(0);    //Очистить дисплей

  lc.shutdown(1, false); //Устройство(7-ми сегментный дисплей) выводим из спящего режима
  lc.setIntensity(1,8);  //Яркость дисплея на 8. Всего возможных режимов яркости от 0 до 15
  lc.clearDisplay(1);    //Очистить дисплей
}

void loop() 
{
  /*/ Проверка индикаторов
  for (int digit=7; digit>=0; digit--)
    {
      lc.setDigit(0, digit, 7-digit, false);
      delay (100);
    }
  lc.clearDisplay(0);    //Очистить дисплей
  delay (100);
  for (int digit=7; digit>=0; digit--)
    {
      lc.setDigit(1, digit, 7-digit, false);
      delay (100);
    }
  lc.clearDisplay(1);    //Очистить дисплей
  delay (100);
  */
  sensor_rc.requestTemperatures();  //Запрос датчику на измерение температуры
  if (millis() - ds_latency > 850)
    {
      rc=sensor_rc.getTempCByIndex(0)*10;// Формируем переменную температуры
      lc.setRow(0, 4, bukvy[32]);//Индикация "градуса"
      lc.setRow(0, 3, bukvy[2]);//Индикация "С"  
      lc.setRow(1, 4, bukvy[32]);//Индикация "градуса"
      lc.setRow(1, 3, bukvy[2]);//Индикация "С"  
                //Раскладка данных температуры и индикация
      int sot_rc=rc/100;
      int des_rc=rc%100/10;
      //int edi_rc=rc%100%10;
      int edi_rc=rc%10;
      lc.setDigit(0, 7, sot_rc, false);
      lc.setDigit(0, 6, des_rc, true);
      lc.setDigit(0, 5, edi_rc, false);
      ds_latency = millis(); //________Обнуляем переменную задержки времени для считывания датчиков температуры       
    }

}
void encoder_rc()
{
  enc_rc_stat_b=digitalRead(4);
  if (enc_rc_stat_b==HIGH) {enc_rc_val--;}
  if (enc_rc_stat_b==LOW) {enc_rc_val++;}
  if (enc_rc_val>999) {enc_rc_val=999;}
  if (enc_rc_val<0) {enc_rc_val=0;}
  
  int sot_del=enc_rc_val/100;
  int des_del=enc_rc_val%100/10;
  int edi_del=enc_rc_val%10;
  
  lc.setDigit(1, 7, sot_del, false);
  lc.setDigit(1, 6, des_del, true);
  lc.setDigit(1, 5, edi_del, false);
  
}

void button_rc()
{
  enc_rc_val=rc;
  encoder_rc();
}

PS: Если по незнанию тонкостей что-то криминально напортачено, то ткните, пожалуйста носом.

-NMi-
Offline
Зарегистрирован: 20.08.2018

Ну за 20-ть то лет программирования (не часто, это больше хобби) можно хоть чему-то научиться... правильно ???

И... псевдоталантливый ты наш... я щас вообще полностью автомат делаю и с заторником и с мешалкой и с ректификационной колонной в одном флаконе на 50 литров... пока... дальше посмотрим.

Я`б тебе "рекомендовал" для начала ценники на эти "игрушки" посмотреть, а уж потом про пятиклассников "пейсать"   )))

asam
asam аватар
Offline
Зарегистрирован: 12.12.2018

Не правильно. 

Во первых, уж если хочется использовать DallasTemperature то надо вызвать  

sensor_rc.setWaitForConversion(FALSE)

Что бы вызов requestTemperatures() был неблокирующим. 

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

bwn
Offline
Зарегистрирован: 25.08.2014

Sonologist пишет:

Друзья, спасибо за помощь. Похоже, справился с задачей отвязаться от задержки термодатчика. Вот этот пробный код работает адекватно. Больше чем уверен, что там полно ляпов с программистской точки зрения, не пинайте. Важно, что и температуру кажет и настройку температуры отсечки отображает и энкодер с кнопкой ри латенции не зависят. Можно было бы обойтись только 1-Wire.h, но DallasTemperature.h присобачена на будущее для использования нескольких датчиков. 

Здесь про эти датчики, воз и маленькая тележка. И библиотека, для нескольких, ну совсем не нужна. OneWire достаточно. В той теме, на первой странице ниже, есть и на миллис функция.

sadman41
Offline
Зарегистрирован: 19.10.2016

Понты всегда дороже денег. Особенно когда никто не проверяет - тряси мешалкой сколько хошь. Хоть про 50 литров пиши, хоть про "20 языков выше университетского уровня".  

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

Sonologist пишет:

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

А может просто написать работу с датчиком без латенции? 

КАК ЭТО СДЕЛАТЬ???!!! Или я совсем ох...ел как тот кот Баюн или куда деться от промежутка времени между запросом на термодатчик и его ответом (эти самые примерно 800 мсек)?

Сама по себе библиотека DallasTemperature.h - хреновая по другим причина, не связанным с задержкой. Поэтому, грамотнее писать ручками, без неё.

Но, если никак, то и сей можно писать без задержек. Это 100500 раз обсуждалось, я уже устал  пример давать как это сделать.

-NMi-
Offline
Зарегистрирован: 20.08.2018

Sonologist пишет:

PS: Если по незнанию тонкостей что-то криминально напортачено, то ткните, пожалуйста носом.

Тыкалка НОМЕР ОДЫН!!! И только ОДНА тыкалка!!!

Если в твоём так-сказать "афтомате" разорвать/замкнуть на землю или 5 Вольт шину 1-W ... КАГ отреагирует на сиё "чудо" твой код ???

-NMi-
Offline
Зарегистрирован: 20.08.2018

sadman41 пишет:

Понты всегда дороже денег. Особенно когда никто не проверяет - тряси мешалкой сколько хошь. Хоть про 50 литров пиши, хоть про "20 языков выше университетского уровня".  

Какие понты? Тыачом?

Хочешь реально поработать головой? Давай поработаем вместе. Тока это будет STM32 и С++ и ниадного светодиода)))

Чё, сдюжишь? Телефон свой закинь мне в личку.

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

wdrakula пишет:
принято "ты"
Никгда не думали "обратно"? "Ты" ведь это некоторая близость и открытость, в отличие от нейтрально-холодного "Вы". Для мне, например, "ты" - это семья (включая, разумеется, кота) и ближайшие друзья. 

wdrakula
wdrakula аватар
Онлайн
Зарегистрирован: 15.03.2016

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

wdrakula пишет:
принято "ты"
Никгда не думали "обратно"? "Ты" ведь это некоторая близость и открытость, в отличие от нейтрально-холодного "Вы". Для мне, например, "ты" - это семья (включая, разумеется, кота) и ближайшие друзья. 

Конечно думал. Понравилось, и подумал еще два раза! ;))

Женя! Именно поэтому в сети и было изначально принято "ты", а "вы" считалось демонстрацией отстраненности или неприязни.

Что до меня, так я же рассказывал как-то, что я матшкольник 80-ых. Сообщество совершенно фрондерское. В школе были не только математики и физики, конечно были и обычные мразотные совковые училки, самоутверждающиеся за счет нас. Тогда и было придумано обращаться друг к другу на "Вы" и по отчеству. ;))) На училок типа литературы/истории/аглицкого - действовало убийственно!

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

Как-то так.

sadman41
Offline
Зарегистрирован: 19.10.2016

-NMi- пишет:

Хочешь реально поработать головой? Давай поработаем вместе. Тока это будет STM32 и С++ и ниадного светодиода)))

Чё, сдюжишь? Телефон свой закинь мне в личку.

Сколько за работу головой платить станешь? Только это будет Windows Server Failover Cluster, например. Или Zabbix, а не вот эти пятидолларовые микросхемки.

-NMi-
Offline
Зарегистрирован: 20.08.2018

sadman41 пишет:

 а не вот эти пятидолларовые микросхемки.

Умнож 5 долларов на 100 и будет пиццот )))

Не, я серьёзно, на STM32 4-й серии нужно будет "поработать". Телефон в ЛС закинь, я всё объясню.

sadman41
Offline
Зарегистрирован: 19.10.2016

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

-NMi-
Offline
Зарегистрирован: 20.08.2018

sadman41 пишет:

Или Zabbix, а не вот эти пятидолларовые микросхемки.

Ладно, я всё понял. Настроить бесплатный сервак на бесплатной ОС и кичиться 5-ю баксами за микросхему |))

Каг гриццо... слифф защитан )))  Пака... линуксоид...             )))))))))))))))

sadman41
Offline
Зарегистрирован: 19.10.2016

Всё, забредил болезный про бесплатное.

Ставку-то назовёшь, мастер ректификациии, стреляющий телефоны по ЛС? Или это так, обычная брехня была?

-NMi-
Offline
Зарегистрирован: 20.08.2018

sadman41 пишет:

Ставку-то назовёшь

мастер ректификациии

стреляющий телефоны по ЛС?

Или это так, обычная брехня была?

Два сухарика, возьми тот, что посередине.

Ректификацию может делать даже школьнег, термодинамика там рулит )))

Если у тебя нет телефона - поставь с десяток Debian-ов или Mint-ов, может и хватит на дедушкофон ))) SQL подучи, это подороже будет )))

Это так, спросил, посмотрел на ответ, офигел и забыл.

ps: явафигестаких пассажирофф  )))

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

-NMi- пишет:

Ректификацию может делать даже школьнег, термодинамика там рулит )))

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

bwn
Offline
Зарегистрирован: 25.08.2014

mykaida пишет:

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

А что вы узнать хотите?

 

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

Как школьнегу стать алхимегом :)

qwone
qwone аватар
Offline
Зарегистрирован: 03.07.2016

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

Как школьнегу стать алхимегом :)

или как минимум алпрограммером

-NMi-
Offline
Зарегистрирован: 20.08.2018

mykaida пишет:

В этом году собираюсь заняться алхимией...

Дених сначала накапи, алхимег :))

bwn
Offline
Зарегистрирован: 25.08.2014

-NMi- пишет:

Дених сначала накапи, алхимег :))

Зачем?

-NMi-
Offline
Зарегистрирован: 20.08.2018

Колонна минимум 50т.р. стоит.

Это , блее, ни патьбаксофф :))) как у 41...   ))))

b707
Offline
Зарегистрирован: 26.05.2017

-NMi- пишет:

Колонна минимум 50т.р. стоит.

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