Термостат с развитием

DetSimen
DetSimen аватар
Онлайн
Зарегистрирован: 25.01.2017

Контрольная сумма здесь будет 20

byte reply = [] {255,7,7,7,20}; 

255+7+7+7 = 276 = 0х0114 & 0xFF = 0x14 = 20 Dec

DetSimen
DetSimen аватар
Онлайн
Зарегистрирован: 25.01.2017

Nord_Air пишет:

1-й байт - 0, 2-й - 0, 3 - 0 , 4 - 7,

2й вариант

 1-й байт - 255, 2-й - 0, 3 - 0 , 4 - 7, 

3й вариант

 1-й байт - 255, 2-й - 255, 3 - 0 , 4 - 7, 

4й вариант

 1-й байт - 255, 2-й - 255, 3 - 255 , 4 - 7, 

 

 Во всех этих случаях, в пятом байте. чек сумме будет 7.

нихрена подобного. 

1-й байт - 0, 2-й - 0, 3 - 0 , 4 - 7  -  КС = 7

1-й байт - 255, 2-й - 0, 3 - 0 , 4 - 7 -  КС = 6

1-й байт - 255, 2-й - 255, 3 - 0 , 4 - 7 -   КС = 5

1-й байт - 255, 2-й - 255, 3 - 255 , 4 - 7  -  КС = 4

 

Nord_Air
Offline
Зарегистрирован: 15.06.2020

DetSimen пишет:

 

нихрена подобного. 

1-й байт - 0, 2-й - 0, 3 - 0 , 4 - 7  -  КС = 7

1-й байт - 255, 2-й - 0, 3 - 0 , 4 - 7 -  КС = 6

1-й байт - 255, 2-й - 255, 3 - 0 , 4 - 7 -   КС = 5

1-й байт - 255, 2-й - 255, 3 - 255 , 4 - 7  -  КС = 4

 

 Смотри... У тебя серьезные проблемы с элементарной математикой....

 Во всех этих примерах  сумма 4х байт будет равна 7.

 Именно поэтому я и привел этот пример.

 И отличить КС-1 от КС-0, невозможно...

 Если мы будем складывать той днищенской функцией, которая идет с библиотекой

DetSimen
DetSimen аватар
Онлайн
Зарегистрирован: 25.01.2017

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

Nord_Air
Offline
Зарегистрирован: 15.06.2020

 О чем спорить,  написать функцию,  и проверить,  это в 100 раз быстрее ...

 

 Я честно говоря, не очень понимаю, о чем ты споришь... Тут уже всё расчерчено. 

 ты хочешь впихнуть в байт, 2 байта, приплюсовывая там что-то с краю... по какой-то своей хитрожопой схеме. Похвально чё ;) Ты в пол шаге от универсального архиватора!

 Сообщество оценит  ;))))   

 

Nord_Air
Offline
Зарегистрирован: 15.06.2020

DetSimen пишет:

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

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

Ты сутулое днище!!!

 

Nord_Air
Offline
Зарегистрирован: 15.06.2020

DetSimen пишет:

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

 

 Ты тупой непроходимо!  

 

 Ты не замечаешь,  что за....лся элементарные вещи тебе объяснять?  

 

 Я как для дауна тебе разжовываю...

 Многое из твоей хуеты, оно вообще опровержению не подлежит... Так как это просто лютая ересь :))))

 

 Я надеюсь ты в полной мере оценил моё отношение к тебе :))))))))))))))

 

Ты продышись, а потом забань :))))

DetSimen
DetSimen аватар
Онлайн
Зарегистрирован: 25.01.2017
#include <Arduino.h>

const uint8_t bytes1[] = { 0, 0, 0, 7 };
const uint8_t bytes2[] = { 255, 0, 0, 7 };
const uint8_t bytes3[] = { 255, 255, 0, 7 };
const uint8_t bytes4[] = { 255, 255, 255, 7 };

const uint8_t ARRAY_SIZE = 4;

uint8_t CalcCRC(const uint8_t AArray[], const uint8_t AArraySize = ARRAY_SIZE) {
	uint8_t Result = 0;
	for (uint8_t i = 0; i < AArraySize; ++i) Result += AArray[i];
	return Result;
}

void setup() {
	Serial.begin(115200);
	delay(100);

	Serial.println("Start ...");

	Serial.print("CheckSum bytes1 = "); Serial.println(CalcCRC(bytes1));
	Serial.print("CheckSum bytes2 = "); Serial.println(CalcCRC(bytes2));
	Serial.print("CheckSum bytes3 = "); Serial.println(CalcCRC(bytes3));
	Serial.print("CheckSum bytes4 = "); Serial.println(CalcCRC(bytes4));

}


void loop() {
  
}

DetSimen
DetSimen аватар
Онлайн
Зарегистрирован: 25.01.2017

Nord_Air пишет:

Ты продышись, а потом забань :))))

Да нах ты мне абасрался.  Проблема-то не в моей голове. 

Nord_Air
Offline
Зарегистрирован: 15.06.2020

 И  что ты хотел сказать  записью?

Nord_Air
Offline
Зарегистрирован: 15.06.2020

 Смотри  

 byte 1 =  0b01101010

byte 2 =  0b10101010

byte  3 = 0b00101010

byte  4 = 0b00101010

byte  5 = 0b00101010

 

С подобных выражений мы начнем сумму

Nord_Air
Offline
Зарегистрирован: 15.06.2020

 в формате этой записи тебе очевидно, что в 5-й бит 4 предыдущих не влезут? ;)

Nord_Air
Offline
Зарегистрирован: 15.06.2020

 Или тебе в тупом мозгу надо лунки выбивать???7 :)))))) под нули и еденицы ? ;) А имбицыл?

Nord_Air
Offline
Зарегистрирован: 15.06.2020

DetSimen

Ты прикинь,  с самого начала, я тебе долбоебу пытаюсь объяснить эту простую истину :)

 

 О какой магии шептал другой д....б    ????

 

DetSimen

Может ты ждешь, что кто-то подъедет из авторов библиотеки, функции которой ты выпилил для примера ;) давай давай ;)

DetSimen
DetSimen аватар
Онлайн
Зарегистрирован: 25.01.2017

Nord_Air пишет:

Может ты ждешь, что кто-то подъедет из авторов библиотеки, функции которой ты выпилил для примера

Я в состоянии сам написать библиотеку для DHT11-22.  Ты?

Nord_Air
Offline
Зарегистрирован: 15.06.2020

 Да слава Богу что ты пишешь.  Я не пишу библиотек  Я пишу функции.  

 Или ты из этих ""спорцмэнов"", с перизбытком свободного времени?  Я в соревнованиях не участвую. 

Nord_Air
Offline
Зарегистрирован: 15.06.2020

DetSimen пишет:

Я в состоянии сам написать библиотеку для DHT11-22.  Ты?

 

 Если бы ты сам хоть что-то писал, подобное дно ты заметил бы сразу...

 

 А пока за самописца... я тебя определить увы не могу ;)   сорян ;)  мен

 

  И код у тебя выпеленный из чужих библиотек....

sadman41
Онлайн
Зарегистрирован: 19.10.2016

Не понимаю, зачем вы с ним переписываетесь. Пусть спорит с датчиком DHT - сидит и поясняет ему, что тот считает неправильно и CRC в одном байте слать недопустимо. 

DetSimen
DetSimen аватар
Онлайн
Зарегистрирован: 25.01.2017

Nord_Air пишет:

 А пока за самописца... я тебя определить увы не могу ;)   сорян ;)  мен

 И код у тебя выпеленный из чужих библиотек....

Ты уверен? 

Nord_Air
Offline
Зарегистрирован: 15.06.2020

DetSimen пишет:

 

 

Ты уверен? 

 

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

DetSimen
DetSimen аватар
Онлайн
Зарегистрирован: 25.01.2017

У меня нет ни одного проекта, в этом ты безусловно прав. Ну так мне ж некада, я только бухаю да глумлюсь здесь над вами, "экспертами в ИТ топ-уровня, мульти-изобретателями, супер-разрабоччиками".  Чо ты хочешь от простого расейского биомусора? 

DetSimen
DetSimen аватар
Онлайн
Зарегистрирован: 25.01.2017

Угомонился демон...

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

DetSimen пишет:

Угомонился демон...

Вот тут и возник ТС - т.е. я. В ds18b20 нету байтового сложения на CRC. Там есть его предтеча через аппаратный XOR.

И стоило копья ломать?

b707
Онлайн
Зарегистрирован: 26.05.2017

Майкайда, Вы тоже будете спорить, что сумма 4х байт не поместится в один?:)
Срач давно ушел от Вашего кода, он был про то, что НордЭйр не знает арифметики

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

b707 пишет:
Майкайда, Вы тоже будете спорить, что сумма 4х байт не поместится в один?:) Срач давно ушел от Вашего кода, он был про то, что НордЭйр не знает арифметики

Да 2**10 раз нет! Я в ассемлере это 100500 раз делал и всегда получалось :)

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

И если есть в этом форуме модераторы - удалите этого персонажа (Поддувание_с_Севера) из моей темы. Я его не лублу! Он не понимает житейской и двоичной логики.

DetSimen
DetSimen аватар
Онлайн
Зарегистрирован: 25.01.2017

mykaida пишет:

И если есть в этом форуме модераторы - удалите этого персонажа (Поддувание_с_Севера) из моей темы. Я его не лублу! Он не понимает житейской и двоичной логики.

Я не могу, я ему обещал не удалять.  Тебе теперь проще новую тему открыть. 

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

DetSimen пишет:

Я не могу, я ему обещал не удалять.  Тебе теперь проще новую тему открыть. 

Дед - ты охренел? Такие обещания раздавать в суе?

Епитимья тебе - пять раз погладить котейку и не пить 10 часов!

Вторая не слишком строгая ;)

Nord_Air
Offline
Зарегистрирован: 15.06.2020

  Смотрим сюда :)))   Есть датчик DHT, есть выхлоп от него виде 5 байтов. 5-й сумма пердыдущих четырех, с некоторыми огороворками ;)

 Есть библиотечные функции, которые НЕПРАВИЛЬНО считают сумму этих четырех. 

 мы же можем всё это элементарно проверить, а не тереть о математике? ;))))) Или это будет выглядеть неубедительно? :))))

 Можем просто указать произвольные значения 4ем байтам, потом сложить их по какой-то хитрой схеме. Я реально её не очень понимаю, честно ;)

 Просто элементарно проверить.

Nord_Air
Offline
Зарегистрирован: 15.06.2020

mykaida пишет:

И если есть в этом форуме модераторы - удалите этого персонажа (Поддувание_с_Севера) из моей темы. Я его не лублу! 

ты девочка штоле.... Лублу не лублу :)))

 

Nord_Air
Offline
Зарегистрирован: 15.06.2020

 Я не очень понимаю. о чем вы спорите и толкуете.

 Я всё это проверял, сравнивал и считал.  Я более чем прекрасно понимаю как считаются байты, и почему они в некоторых случаях считаются неправильно :)   

 

Но вам хочется о чём потолковать, я всегда рад вашим репликам :))))

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

Nord_Air пишет:

ты девочка штоле.... Лублу не лублу :)))

 

Моя девочка тебе не в какой регистр не влезет. 

Даташит пишется для того, чтобы некий Ветер_из-под-хвоста_в в_сторону_севера его обсуждал или делал?

В каком месте даташита b18b20 написано, что надо складывать байты? страница, строка?

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

Nord_Air
Offline
Зарегистрирован: 15.06.2020

mykaida пишет:

 

В каком месте даташита b18b20 написано, что надо складывать байты? страница, строка?

 

Ни  в каком не сказано... Ибо даташит дно. Но где-то там это написано...

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

 Если сумма первых четырех выше 255, то я  сдвину биты. И проверю сумму.  

mykaida пишет:

Моя девочка тебе не в какой регистр не влезет. 

Я в Санта-Барбару не влезаю, но может тебе стоит тактичнее относиться к своей девочке ? ;)

 Такая большая  ???   Ожирение это бич современного общества.....

 

sadman41
Онлайн
Зарегистрирован: 19.10.2016

Да посчитай ее уже и успокойся, сколько можно сиськи мять?

Nord_Air
Offline
Зарегистрирован: 15.06.2020

sadman41 пишет:

Да посчитай ее уже и успокойся, сколько можно сиськи мять?

 ты к кому? Юродивый?

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

Nord_Air пишет:

 Такая большая  ???   Ожирение это бич современного общества.....

Родной, я некоторое время занимался боевым самбо (и в армии тоже).

Я не думаю, что тебе очень хочется со мною встретится а даташит - вот он:

CRC Generation
CRC bytes are provided as part of the DS18B20’s 64-bit
ROM code and in the 9th byte of the scratchpad memory.
The ROM code CRC is calculated from the first 56 bits
of the ROM code and is contained in the most significant
byte of the ROM. The scratchpad CRC is calculated from
the data stored in the scratchpad, and therefore it changes when the data in the scratchpad changes. The CRCs
provide the bus master with a method of data validation
when data is read from the DS18B20. To verify that data
has been read correctly, the bus master must re-calculate
the CRC from the received data and then compare this
value to either the ROM code CRC (for ROM reads) or
to the scratchpad CRC (for scratchpad reads). If the calculated CRC matches the read CRC, the data has been
received error free. The comparison of CRC values and
the decision to continue with an operation are determined
entirely by the bus master. There is no circuitry inside the
DS18B20 that prevents a command sequence from proceeding if the DS18B20 CRC (ROM or scratchpad) does
not match the value generated by the bus master.
The equivalent polynomial function of the CRC (ROM or
scratchpad) is:
CRC = X8 + X5 + X4 + 1
The bus master can re-calculate the CRC and compare it
to the CRC values from the DS18B20 using the polynomial generator shown in Figure 11. This circuit consists
of a shift register and XOR gates, and the shift register
bits are initialized to 0. Starting with the least significant
bit of the ROM code or the least significant bit of byte 0
in the scratchpad, one bit at a time should shifted into the
shift register. After shifting in the 56th bit from the ROM or
the most significant bit of byte 7 from the scratchpad, the
polynomial generator will contain the recalculated CRC.
Next, the 8-bit ROM code or scratchpad CRC from the
DS18B20 must be shifted into the circuit. At this point, if
the re-calculated CRC was correct, the shift register will
contain all 0s. Additional information about the Maxim
1-Wire cyclic redundancy check is available in Application
Note 27: Understanding and Using Cyclic Redundancy
Checks with Maxim iButton Products.
Figure 10. Configuration Register
Figure 11. CRC Generator
Table 2. Thermometer Resolution Configuration
R1 R0 RESOLUTION
(BITS) MAX CONVERSION TIME
0 0 9 93.75ms (tCONV/8)
0 1 10 187.5ms (tCONV/4)
1 0 11 375ms (tCONV/2)
1 1 12 750ms (tCONV)
BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0

 

Nord_Air
Offline
Зарегистрирован: 15.06.2020

mykaida пишет:

 

Родной, я некоторое время занимался боевым самбо (и в армии тоже).

 

 Ну смотри какое дело....  Мы вроде как не родственики... Это раз. Может ты не в той армии занимался, это раз, и не тем это два ;)

 

 Или вы макаки на какое-то снисхождение расчитываете, если вдруг наши армии совпадают ???? :))))))))))))))))))))

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

Nord_Air пишет:

 Или вы макаки 

Понял. Иди нахуй, тролль.

Nord_Air
Offline
Зарегистрирован: 15.06.2020

mykaida пишет:

Nord_Air пишет:

 Или вы макаки 

Понял. Иди нахуй, тролль.

 Такой формат общения приемлим  на  it форуме?

 

Хорошо.... Ладно проехали...   Ты по САМБО делаешь...  Понятно  Но 2+2 сложить не можешь?

 

 Хорошо, соглсен, макаки, это обращение выглядит слишком....   Согласен! Согласен! 

 Я предлагаю макак заменить на Шимпанзе! :))))))))))))))

sadman41
Онлайн
Зарегистрирован: 19.10.2016

Предлагаю потереть последние страницы, нет смысла тратить байты на хранение этого.

Rumata
Rumata аватар
Онлайн
Зарегистрирован: 29.03.2019

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

Nord_Air
Offline
Зарегистрирован: 15.06.2020

Rumata пишет:

Мне кажется, что все эти персонажи - толстый троллинг кого-то из участников....

 

 Тебе не должно чего-то казаться или мерещиться...

 В теме есть конкретные вопросы.  Ты на них отвечаешь, или не отвечаешь и отваливаешь...  Это всё....

 Не нужно рассуждать что это троллинг или что-то еще....  Доходчивое объяснение?

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

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

Nord_Air пишет:

Rumata пишет:

Мне кажется, что все эти персонажи - толстый троллинг кого-то из участников....

 

 Тебе не должно чего-то казаться или мерещиться...

Согласен - покажите Вашу программу.

P.S. Программу дона Руматы я видел в действии, а Вы только пиздите.

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

Причем абсолютно на любом языке. Если я не знаю - так мужики с гаража помогут :)

Rumata
Rumata аватар
Онлайн
Зарегистрирован: 29.03.2019

mykaida пишет:

Согласен - покажите Вашу программу.

А нафига? )) Арифметика, логика и здравый смысл потеряны на первых же сообщениях. Какой смысл дискутировать с клавиатурным роботом? 

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

Rumata пишет:

А нафига? )) 

А потому!

А Вы смогли бы быть таким "мальчиком для битья"? Уверен - нет!

А мы обсудили достаточно серьёзную тему в формате - "кто мудак".

Северный_ветер - респект и уважуха!

Nord_Air
Offline
Зарегистрирован: 15.06.2020

 Я разобрался с магией:))))  до битовых операций я дохал недавно...  Данным решением мы устанавливаем самый первый бит в 0. В итоге чтобы произошло переполнении байта, нужно чтобы значение хотя бы двух битов были чуть меньше 128 и...  короче... Вероятность появления ошибки чек суммы, для данного типа датчика, значительно меньше.  Но зачем тогда нужна такая чек сумма?:)))) Зря помелочились, можно и 7 байтов поставить в 0 Ж)))) и проверять всего один ;)

 

b707
Онлайн
Зарегистрирован: 26.05.2017

Nord_Air пишет:
Я разобрался с магией:))))  Данным решением мы устанавливаем самый первый бит в 0.

бро, не хочу тебя расстраивать - но там такого нет

Nord_Air пишет:

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

Там нет никакой ошибки. Ни "до 128", ни после. Даже если все 4 байта 255, все считается верно.

"Разобрался" ... Иди дальше изучай битовые операции, пока не дойдет, как оно считается.

Nord_Air пишет:
Зря помелочились

Неужели извинишься и признаешь свою тупость?

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Nord_Air пишет:

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

Вообще-то старшие.

Цитата:

То есть, если сумма 4-х битов 257,

Цитата:

то 5-й бит будет 257-255, как-то так ;)))))

Это как-то неудобно даже комментировать.

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

Хорошо тут у вас! Как ножками босыми по росе... ;))))

Я бегу по росе, ноги босы мочу,

Я - такой как и все, я ..... (и так далее)