- [Умный дом и IT безопасность] Вот смотрю я на решения типа Sonoff и стремно мне было бы
использовать такое Evgeny_CD(417 знак., 11.05.2020 18:53, dao, ссылка, полностью)
- Серьезные решения (LONWORKS, EIB) позволяют и шифрование. Что же
касается насоса... обычно насос идет со своим щитом автоматики и
возможности "умного дома" сильно ограниченны релейными защитами в
этом щите. По давлению, переливу, перегреву. Cкpипaч(94 знак., 12.05.2020 08:17)
- Сайт на http, люди просто не парятся по поводу всяких глупостей :-) BlackPrapor(23 знак., 11.05.2020 19:41)
- Это ты их ещё не разбирал и не смотрел что внутри. И второй аспект
-- "приложения" для мобильного телефона. Которым обязательно нужно
(про Sonoff не знаю, далее про одну импорную паделку) --
геолокация, SMS и регистрация у них на сайте. Вот ты покупаешь, а
потом выясняются подробности. В инструкции, кстати, мол всё это не
обязательно. А по факту, начиная с N-й версии -- никак. Ну и само
собой этой херью можно управлять только с мобильника. Либо через их
сервак, либо напрямую fk0(54 знак., 11.05.2020 19:13, ссылка)
- Внутри ровно то, что стоит свои 5$ в розницу. Неплохой вариант
изолированного БП а-ля зарядное от мобилы. В первых версиях был чип
от Dialog Semi, сейчас кетайское чудо а-ля BPS - по сути одного
порядка. В первых версиях стояла ESP8266+FLASH (что-то типа W25Q)
на 512 кБайт, в последних - ESP8285 - тот же комплект в одном чипе.
Кнопка, светодиод, транзистор, корпус, клеммы и, собственно, реле
на котором написано 10А:) Тот, кто понимает, что через клемму а-ля
MKDSN пропускать Vit(183 знак., 11.05.2020 19:36)
- Во-первых оно переключается без перепрошивки на локальную систему
вместо родного облака (как минимум такое возможно с MajorDoMo). На
родной прошивке угон делается с токенами, полученными от родного
облака. Во-вторых есть несколько альтернативных вариантов прошивок,
например, Tasmota (open source). Прошивается без пайки. Дальше -
вопрос глубины и ширины паранойи. Цена базового варианта (10 А и никаких наворотов) реле в соседнем ларьке 5$@10+шт. Мне Vit(28 знак., 11.05.2020 19:07)
- Хотя бы простенькое квитирование. Т.е. дом после получения команды
выдает PIN 4 цифры. Ты его вводишь в токен и вводишь в форму 4
цифры в ответ - уже достаточно для 90% применений. - Evgeny_CD(11.05.2020 18:57)
- [Промышленная FLASH память от Transcend, в том числе PATA
SSD] Да, PATA SSD все еще существуют и продаются. Evgeny_CD(765 знак., 11.05.2020 03:24, dao, ссылка, ссылка, полностью)
- Поигрался с Питоном, вот результат: Авторы половины топиков ANT(990 знак., 08.05.2020 18:59, dao, ссылка, картинка, полностью)
- Только топиков примерно 70 тыс -тут же только верх статистики, не
вся. - General(09.05.2020 01:37)
- А SciFi где у тебя? - Evgeny_CD(08.05.2020 20:02)
- А каков результат есть взять выборку за тот или иной период?... POV_(45 знак., 08.05.2020 19:56,
)
- Бытует такое мнение, что если задача хоть как-то связана со
статистикой -- это питон. Но что мешает табличку выделить,
скопировать через клипбоард в эксель и там сделать? И хуже того,
сохранить в браузере как текст, вырезать саму табличку, остальное
выкинуть (можно через awk, perl, sed... руками в редакторе),
заменить пробелы на запятые (аналогично), скормить данные на вход
gnuplot-скрипта, которому сказать нарисовать гистограмму по
такой-то колонке. - fk0(08.05.2020 19:51)
- Хочется странного... хотя вполне естественное желание. Как описать
глобальную переменную которая была бы доступна для модификации в
ЕДИНСТВЕННОМ месте программы? язык - чистый Си - IBAH(07.05.2020 20:52, dao, полностью)
- Возвращать ее из функции.Все остальное мудозвонство в чистом виде. - PlainUser(08.05.2020 18:51)
- Да чего морочить друг другу головы, все элементарно: il-2(146 знак., 08.05.2020 15:49 - 17:57)
- Если определеить задачу иначе, то "глобальная переменная" =>
read only access откуда угодно, каким угодно кодом/инструкциями. Но
изменение/modify => это строго один код/инструкция (не другие
инструкции). Зачем? "Сложность найти по файлам проекта где это
делается". Отсюда - классическая задача инкапсуляции доступа. Для C
решается так: Перейти от работы с переменной к accessor-методам
get/set. Переменную саму по себе скрыть (инкапсулировать), убрав
запись о ней из RxTx(2000 знак., 08.05.2020 00:36)
- Теперь я допишу то, что я по некоторым причинам не дописал вчера.
На первый взгляд нам не удалось решить вопрос с уникальностью мест
модификации/вызова. Как я заметил по обсуждениям выше есть желание
сделать это место уникальным хотя бы на уровне линковки. Я хочу
показать, что здесь неверен сам подход по обретению такого
контроля. Что мы имеем исходя из исходных условий? Мы имеем некий
spaghetti (или просто неструктурированный) код, который не
контролируем до такой RxTx(1728 знак., 08.05.2020 10:24)
- В отдельном модуле (.c) определить переменную как, например, int x.
В хидерах определить как extern const int x. Переменная будет
читаема, но не записываема. Для изменения переменной в том же
отдельном модуле, где определена переменная, сделать специальную
функцию и разместить её декларацию в хидерах. Преимущество перед
твоим методом: доступ на чтение более легковесный (чтение ячейки
памяти, вместо вызова функции). Работает только в C, или нужно
добавлять extern "C" fk0(49 знак., 08.05.2020 01:20)
- Но вообще сделали бы уже MPU или просто дебаговое прерывание на
переменную и били бы по рукам другие процессы при обращении lloyd(51 знак., 07.05.2020 21:32)
- Как функцию, возвращающую значение. - Cкpипaч(07.05.2020 21:08)
- а зачем? - LordN(07.05.2020 20:58)
- Кто-то делал отладочный вывод через SWO? Но не замена обычного
printf с побайтным выводом и ожиданием, а относительно редкий сброс
2..4 32битных слов без задержки в программе. Andreas(239 знак., 28.04.2020 18:48, dao, полностью)
- Дошли руки замерить потребляемую мощность "хуянана" (Win7) от сети (замерял true RMS "токометром"). Материнка PlexHD, E5 2650 V2, 64 Гиг RAM 1866 с поджатыми до 10-10-10-28 времянками, SSD Samsung EVO 860 500 Гб, SSD Samsung EVO 970 plus 500 Гб, HDD WD Blue 1T, затычка GT1030, БП THERMALTAKE TR2 S, 650Вт. Гyдвин(1066 знак., 17.03.2020 17:16 - 06.04.2020 11:56, dao, полностью)
- Пришел E5 1620. Я сначала ему дал жару - 4.2 ГГц + RAM 2133 :)
Запустился. Но на тесте памяти Aida ушел в синий экран. Если
подстроить тайминги памяти, думаю и 2133 будет работать, ибо
запускал с дефолтными 1866 . Потом выставил 1866, но поджал
тайминги до 10-10-10-28. Ну и оно работает стабильно... Вот
показания монитора после 10 минут стресс-теста Aida - 4.2 ГГц по
всем ядрам. А без нагрузки температура проца 29..30 градусов. Я бы
не сказал, что горячий... Гyдвин(1 знак., 07.05.2020 20:43, картинка)
- А можно риторический вопрос? Публика здесь вполне состоявшаяся и
вроде не бедная, в чем проблема выделить 1k$ раз в 7-10 лет на
полное обновление платформы и не путатся с китае-некро-платами. Тем
более CPU типа Ryzen 3600 / 3700 + 32GB DD4 перекроет все
среднефорумные потребности на 146%. А WinXP может и дальше жить в
виртуалке. - Udewat(03.05.2020 13:42,
)
- Во общем, и у меня появилась сборка на б/у Xeon. X99-TF/E5-2678v3 Ruslan(197 знак., 03.05.2020 09:22)
- Гудвин, а у тебя память DDR3 на 1866, не шитая? На форуме жалуются
что шитая (определили по маркировке чипов). И до какой температуры
нагревается память в рабочем режиме? - Ruslan(05.04.2020 09:00)
- Полазил по Али, посмотрел на Xeon-ы и материнки. При желании можно
собрать платформу на 64, 128, 256 Гб. Если брать
серверный DDR3 - цены не такие уж большие. А 4-х канальный режим
дает хорошую скорость. Ruslan(76 знак., 31.03.2020 15:27)
- Сегодня глянул - комплект стал стОить почти вменяемо - 18 тыр. Ну и
цены на E5 1620 вернулись к практически "довоенным". Гyдвин(5 знак., 08.04.2020 19:59, ссылка)
- Свеженькое! Ruslan(775 знак., 06.04.2020 08:45, ссылка, ссылка)
- 64 - максимум за минимальные деньги на Али. Оптимум,
кмк. Если меньше, то смысла покупать проц и материнку в китае
нет - можно просто апгрейдить имеющийся комп до 32гб, например,
если материнка позволяет. Если больше, то для разработки, имхо,
такое не нужно. Мне, напрмер, просто приперло менять систему,
ибо со старой, как мне тогда казалось, уже ничего невозможно
сделать - типа 4 гиг RAM максимум.( По факту же было достаточно
купить у тех же китайцев проц за 400 руб - на Гyдвин(318 знак., 31.03.2020 16:19)
- Гудвин, вот что надо брать. Свеженькое :) - Ruslan(30.03.2020 17:18, ссылка)
- Гудвин, а поддерживает эта мамка планки по 32 Гб, не в курсе? - Ruslan(23.03.2020 08:07)
- По ссылке Гудвина изменения. Товар поменяли - Ruslan(21.03.2020 11:34, ссылка)
- Про энергопотребление. В W7, через "Панель управления", в разделе "Электропитание", выбрать текущий профиль - выбрать дополнительные параметры, где нужно установить "Минимальное состояние процессора" порядка 5%. - De_user(20.03.2020 13:47)
- Наконец-то я понял, о чем речь. Ждать 3 месяца пока из Ухани пришлют -- долго. А можно в РФ у кого-то такую Хуянань купить? Чтоб Xeon был с ~20 МБайтами кеша, чтоб 4 канала ECC-памяти. Цена, понимаю, будет выше. Кто-нибудь подскажет у кого? - fk0(19.03.2020 00:50)
- Спасибо! А сколько ОЗУ реально потребляется? Все 64Г ? - Ruslan(18.03.2020 10:27)
- Спасибо! Очень интересно... 131 Вт в стресс-тесте для E5 2650 V2 как-то маловато. Если только видеокарта GT1030 была в режиме энергосбережения. Вероятно, что у второй конфигурации часть потребления пришлось на GT440 с её 60 Вт TDP. - De_user(17.03.2020 18:04)
- [MIL-STD-1553] Сводный системный - Evgeny_CD(07.05.2020 14:46, dao, полностью)
- Тема выравнивания пошла. Объясните плз, почему в проекте ARM
выравнивание происходит по границе 8 байт? 32 бита. Если надо,
картинку отладчика положу. - VLLV(30.04.2020 17:11, dao, полностью)
- Вклинюсь тут со своими шурушками. Звepoящep(465 знак., 05.05.2020 17:46)
- В документации на stm32h750vb Figure 3. STM32H750xB bus matrix BlackMorda(48 знак., 05.05.2020 11:10)
- Выравнивание на N это размещение данных или кода по адресам кратным
N. Это производится а) для скорости, потому что невыравненные
данные/код требуют больше циклов чтения шины. Для ускорения доступа
собственно ядра, и для ускорения пред-загрузки линии кэша. б)
некоторые RISC архитектуры не способны читать память по
невыравненным адресам вообще, т.е. в них "ячейками памяти"
считаются WORD'ы размером в ширину шины - 2 или 4 или даже 8 байт.
Hardware unaligned acccess появился RxTx(198 знак., 30.04.2020 18:47)
- Во! Вот и у меня была проблема, решил ее чужим способом. Как - сам
не знаю. Но замечательно работает. Вот чего я такого сделал??? Лaгyнoв(677 знак., 30.04.2020 18:17)
- Что значит "всё выравнивание"? Выравнивание каждого типа данных
зависит от его alignas свойства. У всех разное. Если речь про
new/malloc -- потому, что таков BIGGEST_ALIGNMENT (который
применяется, когда тип не пойми какой). Например, из-за векторных
значений для FPU, или просто потому, что в ABI так прописано. fk0(104 знак., 30.04.2020 17:38)
- если 32 бита разделить на 8 байт, получается в байте 4 бита...
может все таки "выравнивание происходит по границе 4 байт". А по
существу выравнивание - опция компилятора. - IBAH(30.04.2020 17:28)
- для начала структуру покажи - abivan(30.04.2020 17:17)
- Показываю. Последнее поле в структуре 1 байт, расположен со
смещением 5170-49d0 = 7a0 = 1952. Какой должен быть размер
структуры? 1956, логично? А вот ни хрена, 1960. VLLV(1 знак., 30.04.2020 17:45, картинка)
- Размер структуры растягивается до значения его alignas которое
определяется всеми полями в совокупности. Это нужно, чтоб можно
было адресовать массивы структур как v[i] = (char*)v +
i*sizeof(struct). Если бы у тебя sizeof() давал честный размер, то
как бы ты работал с массивами? fk0(70 знак., 30.04.2020 18:18, ссылка)
- Если в структуре есть 64-разрядное поле, то она вся должна иметь
такое выравнивание. Ну и размер, кратный 8 байтам. Одна из причин
для такого размера -- массив структур. - SciFi(30.04.2020 18:02)
- 1. С какого перепуга, если ядро не читает 8 байт за раз, а только 4
байта? 2. Не очень понятен процесс компиляции, в одном файле с этим
типом нет массива структур, в другом есть массив структур - как они
договариваются? - VLLV(30.04.2020 18:09)
- А какая связь вообще с байтами? Ты знаешь как оно внутри работает?
Может найтись масса неочевидных причин, почему иметь "некруглые"
адреса сложно. Пусть и читает по 4 байта за раз, но чтоб по 4 байта
считать длинное значение, long long, long double, вектор, и
обработать его последоательно нужно уметь вычитывать его отдельные
части. И куда проще это делать с выравненного адреса -- потому, что
достаточно правильным образом замаскировать младшие биты адреса, а
с fk0(723 знак., 30.04.2020 18:26)
- Вроде бы в EABI такое записали. Иногда ссылаются на LDRD, STRD.
Можно ещё сослаться на Cortex-M7 и 64-разрядную шину AXI. В общем,
при желании причины найдутся. - SciFi(30.04.2020 18:09)
- uint64_t в структуре есть? - abivan(30.04.2020 18:02)
- Подробности не помешали бы. - SciFi(30.04.2020 17:16)
- Еще один вопросик по JS: Создаю динамически в JS скрипте HTML
страницу c полем ввода : Гyдвин(508 знак., 04.05.2020 00:49, dao, полностью)
- В openocd нормально заработала поддержка программаторов xds110 и
xds200, а также флеш-драйверов под cc13xx. Теперь с камнями
семейства simplelink можно работать через ванильный openocd, сборку
от TI можно выкинуть. evgeniy1294(151 знак., 01.05.2020 03:20, dao, полностью)
- PVS-Studio ищет баги в исходниках Embox. - Toчкa oпopы(01.05.2020 20:25, dao, ссылка, полностью)
- [JerryScript] 64 KB of RAM and less than 200 KB of flash. ECMAScript 5.1
standard compliance. Engine supports on-device compilation, execution and provides
access to peripherals from JavaScrip - Evgeny_CD(26.04.2020 03:52, dao, ссылка, ссылка, полностью)
- Возможно, в этой задачке - самая мякотка ООП: Это задачка на курсах
по Java. Вроде умом понимаю что и как работает, а сэрдцем принять
не могу :) Argon(789 знак., 26.04.2020 10:26 - 11:55, dao, ссылка, полностью)
- I had a problem, so I've decided to use Java. Now I have
ProblemFactory... - lloyd(26.04.2020 16:12)
- "Мякотки ООП" тут нет. 1 "класс на классе и классом погоняет" -
идеология Java, которая строится вокруг понятия класса (единица
трансляции .class), это базовая единица языка. 2. Это исключительно
учебный пример автор которого слишком увлёкся и родил монстра. 3.
Для Java это говнокод. Если такой говнокод встретится в продакшн,
код должен быть переписан, а его автор (если он регулярно порождает
такое) выпизжен на мороз. - RxTx(26.04.2020 15:55)
- Чужой код на ООП обычно противно разбирать :), но приятно, когда
пишешь на нем сама. - Kceния(26.04.2020 14:33)
- В данном случае ничего не делают , но могут. Но что-то в коде не
того. Идентификация инстанции в фильтре по типу
ad.getVehicleTypeByPurpose().equals(vehicleType) и надо городить
огород с передачей параметра при фильтрации пустого класса данного
типа. И есть еще и enum VehicleAllTypes по которому можно и
определить тип но надо привязать класс к enum. framer(380 знак., 26.04.2020 13:50)
- А у них нет нормальных человеческих примеров? Чтобы сразу стало
понятно, что голый Си - г-но, а ООП - круто и полезно. Обязательно
вот эта дебильная хрень с рекламой автомобилей? Или это курсы для
креаклов? - SciFi(26.04.2020 11:41)
- Никто не говорит, что голый Си говно, но действительно есть случаи,
когда хочется плюсов (про яву говорить не буду, я её не знаю). И
здесь есть хорошо известная методическая проблема: примеры в
учебниках должны быть достаточно простыми, иначе суть обсуждаемого
вопроса потонет в деталях, но простые примеры на самом деле не
требуют тяжёлой артиллерии. В результате некоторые думают, что в
любой непонятной ситуации нужно городить иерархию классов, но это
не так, во всяком случае йцyкeн(9 знак., 26.04.2020 12:41)
- Все остальные примеры слишком просты для переворота сознания ) - Argon(26.04.2020 11:43)
- Классы которые ничего не делают, включая пустые определения
структур -- нужны для определения нового, отличного от других типа.
Потому, что где-то в коде потом что-то может делаться по-разному в
зависимости от типа. Кстати с этим связана такая запутывающая
особенность, что в C++ ключевое слово typedef на самом деле не
определяет новый тип, а лишь создаёт алиас (другое имя) для уже
существующего другого типа. А выражение вида "struct X {};"
определит новый тип X. - fk0(26.04.2020 11:18)
- Надо понимать, что класс -- это не структура. Применительно к C++
мне больше нравится слово тип. Тип -- это сущность существующая
преимущественно в момент компиляции и обладающая некоторыми
свойствами, в машинном коде она превращается в функции и структуры
в конечном счёте, а то и вовсе ни во что не превращается, если все
вычисления проделаны при компиляции. Тип на самом деле это очень
легковесная конструкция. Это лишь абстракция служащая для
определения отношений между fk0(1609 знак., 26.04.2020 11:13)
- отношусь к этому прозаичнее - у этих ООП "голые" структуры моветон
(слыхал и здравые толки почему, но это отдельный вопрос), а даже
если хочется структуру, пусть константную, то выпилить её из класса
можно более-менее удобно, если она там уже структура, а этим никто
не заморачивается. пихается в класс обычно как собачка
прогуливается - кустик увидела и пометила:). плюс если наследуешь,
а потом добавляешь свойства и методы, то удобнее. например, в
данном случае Vit(371 знак., 26.04.2020 11:01)
- Насчет жабы ничего сказать не могу, а в С++ введение типов
позволяет делать шаблонную магию, переопределяя поведение даже для
объектов нулевого размера. То есть оперативки это не ест, зато
вводит отдельную сущность на уровне языка. Но тут главное не
перестараться: шаблонный код генерится заново для каждого типа,
поэтому иногда вводят специальный базовый класс и реализацию
завязывают на него, иначе будет как у
boost::container::small_vector<T, size_t>, где для векторов lloyd(39 знак., 26.04.2020 10:47)
- нужно сделать макрос для упаковки структур #define CC_PACK(x)
....... abivan(121 знак., 30.04.2020 09:59, dao, полностью)
- Вопрос русской кодировки. Сейчас у меня в передаваемых на почту
файлах через GSM везде Win-1251. Человек открывает на компе - нет
проблем. А вот в мобильнике постоянно глюки. И если в айфоне я вижу
при открытии в Numbers вариант смены кодировки и Кириллик Виндовс
всё исправляет, то в андроидных так и не нашел. Юникод? Неохота два
байта, раздувается файл. UTF-8? Это реально поможет в мобильниках?
Что за кодировка по умолчанию в Андроиде? Есть еще варианты? - Лaгyнoв(29.04.2020 08:40 - 22:33, dao, полностью)MBedder
- utf8. - Гyдвин(29.04.2020 08:42)