
shadowsoul
13.12.2017
11:58:03
в embedded развели про макетки
тут - тоже хуй знает что
из sata моделей - лично могу посоветовать crucial mx300, очень неплохо по производительности и цене за гигабайт

Firelander
13.12.2017
12:00:08
некоторые модели ноутов ещё залочены по биосу, так что туда хер воткнешь что-то кастомное

Google

shadowsoul
13.12.2017
12:00:38
вайтлисты - только у Thinkpad и Dell, и только на wlan\wwan

Firelander
13.12.2017
12:01:22
ну про HP писали. Сам ещё не пробовал на своем менять, так что не знаю

Салават
13.12.2017
12:45:17
Тут то же самое чтоль?
Заблудился

Th0r
13.12.2017
12:45:47
тут надо читать описание канала

Салават
13.12.2017
12:47:36

shadowsoul
13.12.2017
12:52:14

Салават
13.12.2017
12:53:40
Перефразируюсь, чтобы получить правильные ответы без лишних вопросов.
Есть apc smartups 1250va (и 1000 есть, но не суть). Не XL-модификация, внешних аккумов не подразумевает.
Задача - подтянуть к ним AGM-аккумуляторы на 190А/Ч.
Какие нюансы следует предусмотреть? Есть ли у кого практика
Аккумуляторы новые, ещё в упаковке. Думаю о балансирах.
Бюджет минимум

Вячеслав
13.12.2017
15:07:02

Google

Andy
13.12.2017
15:55:04
тут - тоже хуй знает что
Действительно, подумываю занятия расчетом антенн без компьютера. Только калькулятор на четыре действия

Vasiliy
13.12.2017
18:30:21
родной не вытянет

Кирилл
13.12.2017
18:56:47
Народ, между элементами структуры возможно перемещаться перечислением, или я многого хочу?
Т.е. вместо
Struct->elem
Struct->base
через [i]?

Maxim
13.12.2017
18:57:09
Можно завернуть её в union

Кирилл
13.12.2017
19:00:47

Maxim
13.12.2017
19:01:41
Тогда надо подробнее сформулировать задачу. Если у тебя есть n полей _одного_типа_, то можно создать union, где первым членом будет массив из n элементов, а вторым структура
Если поля разного типа - то нет, в общем случае нельзя

Кирилл
13.12.2017
19:02:12
поля одного типа но разной длины
пытаться сделать структуру из указателей и обращаться к ней как к массиву, я так понимаю, бессмысленно

kaktys
13.12.2017
19:04:38
Можно массив сделать со смещениями
Но какой смысл в этом, присваивать всеравно надо разные типы

Maxim
13.12.2017
19:06:55
Задачу полностью надо сформулировать, вполне возможно, что она намного адекватнее, чем кажется

kaktys
13.12.2017
19:09:54

Кирилл
13.12.2017
19:12:07

Maxim
13.12.2017
19:12:41
Собрать указатели на начало
И поитерироваться

kaktys
13.12.2017
19:13:13
Массив со смещениями
И через него к char* присваивать

Кирилл
13.12.2017
19:14:56
а мне нужно между ними переключаться
пока что выглядит довольно индуссокодуссо:
switch (num)
{
case 0:
{
test->Field[i]=n;
}
case 1:
{
test->Memo=n;
}
...

Google

Кирилл
13.12.2017
19:15:36
у меня просто еще и маллок под структуру, причем это всё в прерывании

kaktys
13.12.2017
19:17:11
char* temp = (char*) (&mystruct + offset[I])

Maxim
13.12.2017
19:17:29
э нет
Сначала каст, потом плюс

kaktys
13.12.2017
19:17:48
А, ну да

Кирилл
13.12.2017
19:44:00
char* temp = (char*) (&mystruct + offset[I])
Я извиняюсь за довольно тупой вопрос, а можно ли адрес элемента структуры засунуть в ячейку массива, и потом обращаться через нее как к двухмерному массиву?
Что-то вроде
mass[0] = &Struct->Field[0];
mass[0][5] =4;
...
?

Eugene
13.12.2017
19:44:03

kaktys
13.12.2017
19:45:07

Кирилл
13.12.2017
19:46:22

Maxim
13.12.2017
19:48:59

kaktys
13.12.2017
19:49:47
Ну всеравно это препроцессорная хрень
Она не поймёт [I]

Eugene
13.12.2017
19:51:19

Кирилл
13.12.2017
19:51:36
увы, но у меня побайтное раскидывание
достал и сразу засунул куда надо

Maxim
13.12.2017
19:52:12
Тогда проще статически парсер сгенерить

Eugene
13.12.2017
19:53:12

Кирилл
13.12.2017
20:00:03
Что это значит, опишите подробнее алгоритм?
Byte = USART1->DR;
Если(Byte не 'буква')
Если (режим = 'данные')
Если (параметр = 'первый')
Структура->элемент1[i] = Byte;
Если (параметр = 'второй')
Если (i <= n)
Структура->элемент2[i] = byte;
i++;
блин, шифт не зажал, ну да ладно. Примерно так всё и написано

Eugene
13.12.2017
20:09:09
моя идея в том, чтобы не "суетиться с каждым байтом", а зная (по 'параметру'), какая структура, позволить байтам последовательно заполнять буфер до нужной длинны, и когда длина достигнута наложить на этот буфер "трафарет" в виде структуры и отдать её "наверх", продолжив заполнять новый буфер (слдедующую часть буфера).

Google

Кирилл
13.12.2017
20:10:57
длина определенных параметров в ответе определенной команды может быть разной

Eugene
13.12.2017
20:12:12
Ели же вы настаиваете н своём алгоритме, то можете либо использовать, как уже советовали, union, либо "руками" создавать/приводить указатель на буфер к указателю на нужный тип и работать с ним.

Кирилл
13.12.2017
20:12:49
причем заранее она неизвестна, поэтому приходится делать маллок на структуру с максимально возможной длиной ответа, потом помещать побайтово параметры из ответа.

Eugene
13.12.2017
20:15:15

Admin
ERROR: S client not available

Кирилл
13.12.2017
20:20:10
А это не является проепятствием, вы же в какой-то момент понимаете фкакова фактическая длина полученной команды? Откладывайте действия по интерпретации полученной цепочки до этого момента.
Есть такой ответ
команда:"555666777",1234,2,46
но он может быть и таким
команда:"2252",001,1,447
Я не против выделить временный буфер под один параметр, и потом с него по факту перекидывать в структуру,
но одно такое перекидывание перекидывание может привести к парочке просёртых байт...
А с DMA вопрос ещё, не придётся ли лишний слой костылей городить, ибо я пока слабо представляю, как работать с кольцевым буфером.

Eugene
13.12.2017
20:22:26
Я так понимаю, что в результате парсинга значения, разделённые запятыми должны оказаться в полях структуры?

Кирилл
13.12.2017
20:23:11
да, только кавычки тоже пропускаются

Eugene
13.12.2017
20:23:29
Т.е. каков будет результат для этих двух примеров?

Кирилл
13.12.2017
20:24:04
кстати, спасибо что косвенно подсказали, где ляп может быть, я скобки отбрасываю тоже, а они могут быть под кавычками
Структура->поле1 = 555666777
Структура->поле2 = 1234
Структура->поле3 = 2
Структура->поле4 = 46
и для второго
Структура->поле1 = 2252
Структура->поле2 = 001
Структура->поле3 = 1
Структура->поле4 = 477

Eugene
13.12.2017
20:26:53
Ок, и структура обоих ответов одинакова?

Кирилл
13.12.2017
20:27:34
для конкретно этой команды - да
у других может отличаться
в смысле от этой
две сходные по содержанию я просто распихиваю в одну и ту же структуру, только поля переставляю

Eugene
13.12.2017
20:29:56
А когда становится понятна структура ('параметр' в вашем примере)? К моменту начала приёма уже известна?

Кирилл
13.12.2017
20:31:32
Я отправляю команду и запоминаю что я отправил именно её, по этому флажку и определяю структуру.
кроме того, также известно и количество параметров для неё

Eugene
13.12.2017
20:32:58
Отлично, значит структура априоре известна в момент приёма!

Google

Eugene
13.12.2017
20:41:45

Кирилл
13.12.2017
20:42:48
Завтра уже, иначе не встану. Спасибо энивей.

Eugene
13.12.2017
20:42:58
Ок:)
Утро вечера муренее!

Andy
14.12.2017
05:29:48
Обычно разбивают на два процесса прием и парсер.

Max
14.12.2017
08:00:35
Привет
всем

Alexandre
14.12.2017
09:05:44
Этот чат для вопросов и ответов по теме

Martin
14.12.2017
09:57:03
помогите определить зверя, по маркировке даташит не ищется. дисплей из микроволновки кажется.

kaktys
14.12.2017
10:06:04
https://www.fasttech.com/product/5376300-0-36-4-digit-red-led-display-module-for-arduino
тоже 13пиновый