
Aleksandr
29.08.2018
09:59:09
реплай на мессадж)

Eugene
29.08.2018
09:59:33
Reply в TelegramRTU


Xessao
29.08.2018
10:23:54
Не получается записать данные в регистры, и прочитать их на другой стороне, а примеров с RTU я не могу найти, есть на git'е примеры с оф сайта, но это немного не то ...
Смотри, у тебя есть два независимых устройства. Для передачи данных между ними ты используешь протокол Modbus, который в свою очередь лишь регламентирует как должны передаваться данные (структура запросов/ответов).
Если ты читал описание, то знаешь что такое PDU и ADU. В твоё случае (RTU) ADU будет состоять так (master -> slave):
адрес устройства (slave): 2 байта; 0 — broadcast, 1-247 — доступные и 248-255 — зарезервированные.
номер функции: 1 байт;
данные: 253 байта;
crc: 4 байта; сначала LO, потом HI.
Следовательно, ты переключаешь, допустим, вторую малинку в режим прослушки и ждёшь пакета. Отправляешь пакет с первой малинки. Принимаешь пакет и смотришь какой указан адрес, если твой или 0 — разбирай, в противном случае игнорируй.
Какие будут функции, данные и коды ошибок — решать исключительно тебе. Можешь использовать стандартные.

Google

Vl@d
29.08.2018
10:31:47
Всем привет! В gcc есть __gnu_cxx::bitmap_allocator и другие кастомные, а в clang есть кастомные аллокаторы из коробки?

Xessao
29.08.2018
10:34:53
Konstantin, вот здесь рассказано абсолютно всё.
Если тебе интересно как работает протокол на уровне OSI 1 & 2, то вот.

Egor
29.08.2018
12:14:23
более одного enable_shared_from_this в иерархии можно как-то обойти?

Matwey
29.08.2018
12:25:00
Виртуальное наследование?
Правда от этого shared_from_this плохо работает
Его нужно через aliasing конструктор пропускать

Ilya
29.08.2018
12:26:29
/ban

Anton
29.08.2018
12:28:30

Matwey
29.08.2018
12:29:30

Alexander
29.08.2018
12:29:45
/ban
будьте аккуратны. А то админы могут расценить как просьбу самобана

Egor
29.08.2018
12:34:04

Matwey
29.08.2018
12:36:38
Да мне вообще enable_shared_from_this не нравится

Google

Matwey
29.08.2018
12:37:16
По хорошему наследование от enabled_shared_from_this должно ломать в компайл тайме все попытки смастерить объект в обход make_shared
Потому-что иначе shared_from_this заканчивается с UB

Spoonson
29.08.2018
12:42:17

Basil
29.08.2018
12:42:28
Смотри, у тебя есть два независимых устройства. Для передачи данных между ними ты используешь протокол Modbus, который в свою очередь лишь регламентирует как должны передаваться данные (структура запросов/ответов).
Если ты читал описание, то знаешь что такое PDU и ADU. В твоё случае (RTU) ADU будет состоять так (master -> slave):
адрес устройства (slave): 2 байта; 0 — broadcast, 1-247 — доступные и 248-255 — зарезервированные.
номер функции: 1 байт;
данные: 253 байта;
crc: 4 байта; сначала LO, потом HI.
Следовательно, ты переключаешь, допустим, вторую малинку в режим прослушки и ждёшь пакета. Отправляешь пакет с первой малинки. Принимаешь пакет и смотришь какой указан адрес, если твой или 0 — разбирай, в противном случае игнорируй.
вообще-то стандарт на Modbus RTU предполагает 2 байта контрольной суммы, и длина данных может быть и меньше, не обязательно 253 байта.

Spoonson
29.08.2018
12:43:39

Matwey
29.08.2018
12:47:16
разве?
Якобы в C++17 сделали чтобы shared_from_this кидал исключение
А до этого был UB

Anton
29.08.2018
12:50:35
Короче что б вернуть shared_ptr надо чтоб объект уже овнился другим shared_ptr
Иначе в 17 плюсах выкинет std::bad_weak_ptr

Matwey
29.08.2018
12:51:31
А внутри класса где ты дергаешь shared_from_this это "надо" никак не проверить даже

Anton
29.08.2018
12:52:59
Согласен

Xessao
29.08.2018
12:56:22

Basil
29.08.2018
12:58:34
до 253 байт, а не 253

Xessao
29.08.2018
12:59:33
до 253 байт, а не 253
Это уже просто доёбывание до слов. Любому понятно, что речь идёт о максимальном размере.

Basil
29.08.2018
13:03:50
я даже не думал доёбываться, просто это может быть понятно не любому. в CAN, например, фиксированный размер пакета. ладно, брейк. пусть Константин стандарт читает.

Ruslan
29.08.2018
13:08:46

Basil
29.08.2018
13:11:59
фреймы, кажется

Ruslan
29.08.2018
13:12:52
Угу. Frame/Message

Alexandr
29.08.2018
13:59:53
Есть ли возможность в темплэйиах задавать переменное кол-во аргументов?
MyClass<1,2,3...> и внутри класса получить кол-во аргументов и значение каждого

Ruslan
29.08.2018
14:00:19
Угу

Google

Max
29.08.2018
14:00:49
))

Alexandr
29.08.2018
14:00:56
А можно узнать как?

Ruslan
29.08.2018
14:00:58
https://www.youtube.com/watch?v=o1EvPhz6UNE

Alexandr
29.08.2018
14:01:38
@Devel29A какая минута?

Max
29.08.2018
14:02:11
Жесть. Люди, зачем вы это делаете? Зачем скидывать видео, вместо текста?
Я понимаю, что автору видео так сподручнее, но зачем же пересылать так?

Ruslan
29.08.2018
14:03:59

Kirill
29.08.2018
14:04:19

Alex Фэils?︙
29.08.2018
14:04:24

Ruslan
29.08.2018
14:04:25

Alex Фэils?︙
29.08.2018
14:04:33
нужен транскрайб

Max
29.08.2018
14:05:08

Ruslan
29.08.2018
14:07:22
Ссылку
https://en.cppreference.com/w/cpp/language/template_parameters#Template_template_arguments

Igor
29.08.2018
15:12:41
Можно ли написать парсер сайта на c++ и что для этого нужно
кроме прямых рук

zk
29.08.2018
15:14:10
Не очень прямые руки тоже пойдут.

Igor
29.08.2018
15:14:23
уметь дёргать странички из интернетов и разбирать их html-содержимое с помощью какого-нибудь парсера xml

Alexander
29.08.2018
15:16:16

Vitaly
29.08.2018
15:18:08

Matwey
29.08.2018
15:19:49
Можно и регекспами

Google

Alexander
29.08.2018
15:20:10

Constantine
29.08.2018
15:20:15

Matwey
29.08.2018
15:20:37

Alexander
29.08.2018
15:20:40
Можно и регекспами
хотелось бы на это посмотреть, как на регулярках написать полностью валидный парсер html

Constantine
29.08.2018
15:20:48

Matwey
29.08.2018
15:21:09

Igor
29.08.2018
15:22:21

Alexander
29.08.2018
15:22:53
"парсер сайта" - сайт может быть любой - сайты на html - валидный парсер html формата
ну так то да - это всё демагогия

Matwey
29.08.2018
15:23:25
ага, а еще есть непустое множество сайтов написанных на невалидном html

Vitaly
29.08.2018
15:44:09

Matwey
29.08.2018
15:49:27
Да ладно, вдруг ему нужно вынуть одно число из всего сайта?

/dev
29.08.2018
16:09:33

Oleg
29.08.2018
17:05:03
Вечер
Какие правила доступности статических методов при наследовании? Если наследуюсь как protected от класса, у которого есть статический метод, то смогу ли я его вызвать снаружи класса?

Alexander
29.08.2018
17:07:25

Matwey
29.08.2018
17:26:26
нет
А можно же сделать в наследнике using ?
В public секции

Alexander
29.08.2018
17:42:05

Юра Незнанов
29.08.2018
17:42:47
Слушайте, а виртуальные деструкторы медленнее обычных? В плане стоит ли любой абсолютно класс делать с вирт деструктором?..

Google

Matwey
29.08.2018
17:43:17

Alexander
29.08.2018
17:43:25

Matwey
29.08.2018
17:43:36

Alexander
29.08.2018
17:44:01

Oleg
29.08.2018
17:44:21