1. Надо иметь Developer Account
2. Надо иметь флешку ( я обозвал HighSierra ) - с флешки все удалится!
3. Открыть macappstores://itunes.apple.com/app/id1209167288
4. Скачать - должно получиться 5+ гигов
5. В терминале
sudo /Applications/Install\ macOS\ High\ Sierra\ Beta.app/Contents/Resources/createinstallmedia --volume /Volumes/HighSierra --applicationpath /Applications/Install\ macOS\ High\ Sierra\ Beta.app/ --nointeraction &&say Boot drive created
6. Дождаться Boot drive created и загрузиться с флешки. Дальше как обычно
Month: August 2017
STM32 ADC Multiple Channels HAL
Ну или подобными вопросами заполнены тематические конференции. И большинство из них без ответов.
Суть проблемы проста: если в STM32CubeMX включить в АЦП один канал, то все работает изумительно. Примеры есть повсюду и код работает стабильно. Но если включить несколько, то все ломается. При вызове HAL_ADC_GetValue на выходе получается “мусор”, содержащий случайную выборку с каналов.
Решение: в коде HAL содержится ошибка. В функции HAL_ADC_ConfigChannel индусы заложили такую логику, которая препятствует работе более чем с одним каналом. Согласно ей, перед измерением надо каждый канал конфигурировать с Rank = ADC_RANK_NONE, а затем снова его же конфигурировать, но уже с другим rank.
Если делать по документации, то вместо конфигурирования одного канала происходит конфигурирование всех каналов.
В общем, рассказывать дольше, чем показать код
Новый сервер на CentOS 7
Внезапно подвернулась возможность взять Dellовский сервер всего за полторы тысячи рублей.
После совершенно стандартных действий по обновлению, выключению ненужных сервисов и прочего встал вопрос о первоначальном тюнинге.
Первое, что необходимо сделать – отрубить 99,9% автоподбиральщиков паролей.
# cat /etc/sysconfig/iptables|grep 22 -A INPUT -p tcp -m tcp --dport 22 -m state --state NEW -m recent --set --name DEFAULT --rsource -A INPUT -p tcp -m tcp --dport 22 -m state --state NEW -m recent --update --seconds 300 --hitcount 4 --name DEFAULT --rsource -j DROP -A INPUT -i eth0 -p tcp -m tcp --dport 22 -j ACCEPT
Затем ставим sslh – мультиплексор протоколов. Его задача – дать доступ до основных сервисов через 443 порт.
# cat /etc/sslh.cfg
# This is a basic configuration file that should provide
# sensible values for "standard" setup.
verbose: false;
foreground: true;
inetd: false;
numeric: false;
transparent: false;
timeout: 2;
user: "sslh";
# Change hostname with your external address name.
listen:
(
{ host: "edge"; port: "443"; }
);
protocols:
(
{ name: "ssh"; service: "ssh"; host: "localhost"; port: "22"; },
{ name: "openvpn"; host: "localhost"; port: "1194"; },
# { name: "xmpp"; host: "localhost"; port: "5222"; },
{ name: "http"; host: "localhost"; port: "80"; },
{ name: "ssl"; host: "localhost"; port: "443"; log_level: 0; },
{ name: "anyprot"; host: "localhost"; port: "443"; }
);
Как видите, конфигурация 100% стандартная, за исключением того, что мне не нужен xmpp. после обкатки можно будет и закрыть “обычный” ssh порт совсем. Минусом станет то, что в логах и утилитах пользователи станут заходить через localhost. Реальные адреса будут видны только через journald
… и все. В остальном инсталляция CentOS 7 не требует дальнейших движений напильником.
