LINUX.ORG.RU

Сообщения Xintrea

 

Как в FreeCAD выделить точки?

Форум — Desktop

Привет, народ.

Открыл в FreeCAD файл с расширением STL. В нем несколько фигур.

У некоторых фигур нужно поменять нормали. А в дереве модели видна только одна деталь.

Поэтому нужно выделить точки, из которых состоит одна фигура, и преобразовать их в отдельную деталь, чтобы потом у детали поменять нормали.

Можно ли это сделать в интерфейсе FreeCAD? Я пробовал в верстаке Points сделать это, но точки не выделяются (Правка - выделить область) или я не знаю как их выделить.

 , нормаль

Xintrea
()

На STM32 контроллере изменился chipid, не могу его сбросить

Форум — Development

Имею плату STM32F103C8T6 (Blue Pill).

После прошивки в контроллер DFU-бутлоадера и поигравшись немного с ним, решил прошить контроллер своей программой по-обычному, через ST-LinkV2 (SWD). Поставил boot-джамперы в положение 00, и попытался прошить через ST-Link. И каково же было мое удивление, что я этого сделать не могу по причине некорректного chipid.

До прошивки DFU-bootloaderа плата выдавала такие данные:

> st-info --probe
Found 1 stlink programmers
 serial: 132014026315303030303032
openocd: "\x13\x20\x14\x02\x63\x15\x30\x30\x30\x30\x30\x32"
  flash: 65536 (pagesize: 1024)
   sram: 20480
 chipid: 0x0410
  descr: F1 Medium-density device

А после работы с DFU-прошивкой плата стала выдавать такое:
Found 1 stlink programmers
 serial:     132014026315303030303032
 hla-serial: "\x13\x20\x14\x02\x63\x15\x30\x30\x30\x30\x30\x32"
 flash:      0 (pagesize: 0)
 sram:       0
 chipid:     0x0748

И в момент прошивки по SWD STLinkV2 дает теперь такую ошибку:
> st-flash --reset write myprogramm.bin 0x08000000
st-flash 1.6.1
2022-04-09T18:48:44 WARN common.c: unknown chip id! 0x3748
Failed to connect to target
(И что еще непонятно, в st-info виден идентификатор 0x0748, а флешер ругается на идентификатор 0x3748).

Начал искать советы, как сбросить плату. Советы были разные, ни один не сработал. Вот что я делал:

* * *

Вначале выставил boot-перемычки на boot0=1 и boot1=0 чтобы при старте платы не выполнялся левый код, переткнул плату в USB-гнезде и попытался обнулить FLASH. Но нет, такое не прокатывает:
> st-flash erase
st-flash 1.6.1
2022-04-09T18:57:41 WARN common.c: unknown chip id! 0x3748
Failed to connect to target

Пробовал с boot-перемычками в положении 00, тот же самый результат.

В конце концов заметил, что если нажать Reset и удерживать, плата начинает выдавать такую информацию о себе:
Found 1 stlink programmers
 serial:     132014026315303030303032
 hla-serial: "\x13\x20\x14\x02\x63\x15\x30\x30\x30\x30\x30\x32"
 flash:      61010944 (pagesize: 1024)
 sram:       20480
 chipid:     0x0410
 descr:      F1xx Medium-density

Странный размер FLASH, но зато chipid правильный. Удерживая Reset, дал команду очистки FLASH и она сработала:
> st-flash erase 
st-flash 1.6.1
INFO common.c: F1xx Medium-density: 20 KiB SRAM, 59581 KiB flash in at least 1 KiB pages.

Дальше перегрузил плату, но она все равно опять показывает flash:0, sram:0, chipid:0x0748. Я пытался проделать то же самое с boot-перемычками Boot0=1 Boot1=0, результат тот же.

Тогда при нажатом Reset я проверил, а что вообще в FLASH памяти есть:
> st-flash read firmware.bin 0x8000000 0x2000
> xxd firmware.bin
00000000: 08b5 1420 08b5 1420 08b5 1420 08b5 1420  ... ... ... ... 
00000010: 08b5 1420 08b5 1420 08b5 1420 08b5 1420  ... ... ... ... 
00000020: 08b5 1420 08b5 1420 08b5 1420 08b5 1420  ... ... ... ... 
00000030: 08b5 1420 08b5 1420 08b5 1420 08b5 1420  ... ... ... ... 
00000040: 08b5 1420 08b5 1420 08b5 1420 08b5 1420  ... ... ... ... 
00000050: 08b5 1420 08b5 1420 08b5 1420 08b5 1420  ... ... ... ... 
00000060: 08b5 1420 08b5 1420 08b5 1420 08b5 1420  ... ... ... ... 
00000070: 08b5 1420 08b5 1420 08b5 1420 08b5 1420  ... ... ... ... 
00000080: 08b5 1420 08b5 1420 08b5 1420 08b5 1420  ... ... ... ... 
00000090: 08b5 1420 08b5 1420 08b5 1420 08b5 1420  ... ... ... ... 
000000a0: 08b5 1420 08b5 1420 08b5 1420 08b5 1420  ... ... ... ...
...

Прошивки уже нет. Но все равно плата показывает flash:0, sram:0, chipid:0x0748 пока не зажмешь Reset.

Я пробовал зажимать Reset до вставки ST-LinkV2 в USB, пробовал не зажимать, пробовал нажимать один раз, с разными положениями boot-перемычек, давал команды st-flash erase, st-flash reset, но все бестолку. Плата упорно показывает flash:0, sram:0, chipid:0x0748.

Вопрос: как, блин, эту плату можно сбросить? Чтобы вернулся нормальный id и правильный размер FLASH/RAM?

 chipid, , ,

Xintrea
()

Не могу разобраться с DFU-загрузчиком в STM32. Плата видна на USB-шине, но dfu-util ее не видит.

Форум — Development

Привет, народ.

Пытаюсь разобраться как прошивать плату STM32F103C8T6 (Blue Pill) по miniUSB-кабелю.

Свои изыскания я записываю здесь:

Как прошивать Blue Pill STM32 F103 через обычный USB-кабель в Linux

Затык происходит на том, что я прошиваю DFU-бутлоадер в плату, плата становится видна по USB:

[25760.232130] usb 2-2: new full-speed USB device number 7 using xhci_hcd
[25760.385437] usb 2-2: New USB device found, idVendor=1eaf, idProduct=0004, bcdDevice= 2.00
[25760.385444] usb 2-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[25760.385447] usb 2-2: Product: Maple
[25760.385449] usb 2-2: Manufacturer: LeafLabs
[25760.424009] cdc_acm 2-2:1.0: ttyACM0: USB ACM device
[25760.424307] usbcore: registered new interface driver cdc_acm
[25760.424310] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters

Однако утилита dfu-util (версии 0.9) ни одной платы не видит. И версия 0.8 тоже не видит:
> dfu-util --list
dfu-util 0.9

Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2016 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to http://sourceforge.net/p/dfu-util/tickets/

Пробовал давать команду с указанием id-шников устройства:
dfu-util -d 1eaf:0004 --list
так тоже DFU-устройство не обнаруживается. Пробовал и под рутом, и от обычного пользователя, хотя DBUS правило для доступа пользователем прописывается при установке пакета dfu-util (Debian Linux 11).

Что еще нужно донастроить, чтобы увидеть DFU-устройство?

 , dfu-util, ,

Xintrea
()

arm-none-eabi-gcc и стандарт C99 - компилер не понимает true/false

Форум — Development

Привет, народ!

Пытаюсь скомпилить си-шный исходник, в котором есть конструкция:

    while (true) {
        msDelay(500);
        LEDPORT->ODR ^= (1<<LED1);
    }

Чтобы компилер понимал true/false, в команду компиляции добавлено "-std=c99". Полная команда выглядит так:
arm-none-eabi-gcc -o .pio/build/bluepill_f103c8/src/main.o -c -std=c99 -Os -ffunction-sections -fdata-sections -Wall -mthumb -mcpu=cortex-m3 -DPLATFORMIO=50205 -DSTM32F1 -DSTM32F103xB -DF_CPU=72000000L -Iinclude -Isrc -I/home/xi/.platformio/packages/framework-cmsis@2.50501.200527/CMSIS/Include -I/home/xi/.platformio/packages/framework-cmsis-stm32f1/Include src/main.c

В результате выдается ошибка:
src/main.c: In function 'main':
src/main.c:22:12: error: 'true' undeclared (first use in this function)
     while (true) {
            ^~~~
src/main.c:22:12: note: each undeclared identifier is reported only once for each function it appears in
*** [.pio/build/bluepill_f103c8/src/main.o] Error 1

Что еще нужно крутить, чтобы true/false воспринимались компилятором?

 ,

Xintrea
()

Где взять arm-none-eabi-gdb и arm-none-eabi-gdb-py в Debian Linux 11 ?

Форум — Development

Привет, народ.

Безуспешно пытаюсь разобраться как отлаживать китайскую плату STM32F103C8T6 (Blue Pill) в Linux с помощью OpenSource софта. Пытаюсь настроить QtCreator в качестве среды разработки, но сейчас я видимо только в начале пути.

Сейчас застрял на том, что в туториалах (например тут https://mmote.ru/qtcreator-stm32) говорят о бинарниках arm-none-eabi-gdb и/или arm-none-eabi-gdb-py, однако я не могу найти упоминаний этих бинарников в репозитариях.

У меня установлены следующие пакеты:

binutils-arm-none-eabi
gcc-arm-none-eabi
libstdc++-arm-none-eabi-newlib
libnewlib-arm-none-eabi
picolibc-arm-none-eabi
gdb-multiarch (метапакет для установки gdb-arm-none-eabi)

Однако в них нет arm-none-eabi-gdb/arm-none-eabi-gdb-py или чего-то похожего.

Вопрос: что произошло с этими инструментами? Они были в какой-то момент выпилены из репозитария? Или они никогда в репозитариях не находились? Откуда их тогда вообще брать? Или нынче для arm-отладки уже не нужен arm-none-eabi-gdb/arm-none-eabi-gdb-py, и все работает в стандартном GDB само собой?

 , , , ,

Xintrea
()

Обновился до Debian 11 - отвалилось проигрывание видео

Форум — General

Привет народ!

Пришлось мне тут вчера обновиться до Debian 11. Я, конечно, был готов к появлению различных галлюнов, и они таки появились.

Например, перестало воспроизводиться видео. Я обычно пользуюсь VLC и Mplayer.


VLC тупит вот так:

$ vlc 0001-0240.avi
VLC media player 3.0.16 Vetinari (revision 3.0.13-8-g41878ff4f2)
Этот источник не открывается:
VLC не может открыть MRL 'file:///home/xi/work/develop/blender/lampa/0001-0240.avi'. Ищите более подробную информацию в лог-файле.

Где находится лог-файл, нигде не говорится. Я перерыл /var/log, но единственно что нашел, это вот это:
Mar 29 10:24:23 hp450 zeitgeist-fts[2096]: Unable to get info on application://vlc.desktop

Я попытался запустить VLC с подробным уровнем отладки. Увидел только одно сообщение, которое ранее не показывалось. Пробовал по-разному, согласно документации:
$ VLC_VERBOSE=3 vlc 0001-0240.avi
VLC media player 3.0.16 Vetinari (revision 3.0.13-8-g41878ff4f2)
QObject::~QObject: Timers cannot be stopped from another thread

$ vlc -v 3 0001-0240.avi
VLC media player 3.0.16 Vetinari (revision 3.0.13-8-g41878ff4f2)
QObject::~QObject: Timers cannot be stopped from another thread

Причем сообщение Timers cannot be stopped from another thread появляется не в момент ошибки, а в момент закрытия окна VLC уже после того, как VLC ругнулся что не может показать видео. Так что наверно это другая ошибка, возможно в неправильной деинициализации GUI-интерфейса, ее пока можно не рассматривать.

Тогда я попробовал посмотреть через mplayer.


Mplayer тупит так:
$ mplayer 0001-0240.avi 
Failed to read /etc/mplayer/mplayer.conf.local: No such file or directory
Warning unknown option include at line 177
MPlayer 1.4~svn38192 (C) 2000-2020 MPlayer Team
do_connect: could not connect to socket
connect: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.

Playing 0001-0240.avi.
libavformat version 58.76.100 (internal)
AVI file format detected.
[aviheader] Video stream found, -vid 0
AVI: No audio stream found -> no sound.
VIDEO:  [MJPG]  1000x1000  24bpp  24.000 fps  14909.2 kbps (1820.0 kbyte/s)
open: No such file or directory
[MGA] Couldn't open: /dev/mga_vid
open: No such file or directory
[MGA] Couldn't open: /dev/mga_vid
[VO_TDFXFB] This driver only supports the 3Dfx Banshee, Voodoo3 and Voodoo 5.
s3fb: Couldn't map S3 registers: Operation not permitted
libva info: VA-API version 1.10.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_10
libva error: /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so init failed
libva info: va_openDriver() returns 1
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_1_8
libva info: va_openDriver() returns 0
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
libavcodec version 58.134.100 (internal)
[mjpeg @ 0x563b9aa2d480]Requested frame threading with a custom get_buffer2() implementation which is not marked as thread safe. This is not supported anymore, make your callback thread-safe.
Selected video codec: [ffmjpeg] vfm: ffmpeg (FFmpeg MJPEG)
==========================================================================
Load subtitles in ./
Audio: no sound
Starting playback...
Could not find matching colorspace - retrying with -vf scale...
Opening video filter: [scale]
Movie-Aspect is undefined - no prescaling applied.
[swscaler @ 0x563b9aa41ac0]bicubic scaler, from yuv422p to yuyv422 using MMXEXT
[swscaler @ 0x563b9aa41ac0]using unscaled yuv422p -> yuyv422 special converter
VO: [vdpau] 1000x1000 => 1000x1000 Packed YUY2
Movie-Aspect is undefined - no prescaling applied.
VO: [vdpau] 1000x1000 => 1000x1000 Packed YUY2
libvdpau-va-gl: VideoSurface::PutBitsYCbCr_glsl(): not implemented source YCbCr format 'VDP_YCBCR_FORMAT_YUYV'
[vdpau] Error when calling vdp_video_surface_put_bits_y_cb_cr: VDP_STATUS_INVALID_Y_CB_CR_FORMAT


MPlayer interrupted by signal 11 in module: filter_video
- MPlayer crashed by bad usage of CPU/FPU/RAM.
  Recompile MPlayer with --enable-debug and make a 'gdb' backtrace and
  disassembly. Details in DOCS/HTML/en/bugreports_what.html#bugreports_crash.
- MPlayer crashed. This shouldn't happen.
  It can be a bug in the MPlayer code _or_ in your drivers _or_ in your
  gcc version. If you think it's MPlayer's fault, please read
  DOCS/HTML/en/bugreports.html and follow the instructions there. We can't and
  won't help unless you provide this information when reporting a possible bug.
Ошибка сегментирования


Вопрос: что где надо теперь крутить, чтобы иметь возможность смотреть видео в Debian Linux 11 ?

 , , ,

Xintrea
()

Как настроить HEX-просмотр в Midnight Commander, чтобы он отображал только 16 кодов на строку?

Форум — General

Привет, народ.

Обратил сейчас внимание на то, что просмоторщик MC в HEX-режиме отображает 24 кода на строку вместо 16 кодов. Что жутко неудобно.

Найти настройку которая указывала бы что MC должен отображать только 16 кодов, я не смог. Где куда тыкнуть, чтобы просмотрщик нормально показывал HEX-дамп в 16 кодов на строку?

 , ,

Xintrea
()

Каким образом можно узнать, что открытый SSH-ключ уже скопирован?

Форум — General

Привет, народ.

Что-то туплю я. Мне нужно каким-то образом узнать в BASH-скрипте, что открытый SSH-сертификат уже был скопирован на противоположную сторону.

Ну, то есть, для копирования сертификата выполнялись команды:

ssh-keygen -t rsa -q -N ''
ssh-copy-id -i ~/.ssh/id_rsa.pub ouruser@ourserver.lo

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

Вопрос: каким способом наиболее просто можно проверить, что сертификат скопирован? Я так понимаю, надо как-то установить SSH-соединение, если оно установится, то сертификат есть. Но как его установить, как его разорвать внутри bash-скрипта что-то не могу сообразить.

 , ,

Xintrea
()

Создать Ethernt-соединение через COM-порт между двумя компьютерами

Форум — Admin

Привет, народ!

Нужно мне сделать очень странную вещь: пробросить Ethernet-соединение через COM-порт. Да, я знаю что это дичь, что такое никому не нужно, что будет медленно работать. Но таковы нынешние реалии.

Итак, имеется две машины, на одной стоит Linux, на второй Windows. Они находятся в физически разных Ethernet-сетях. Между ними нужно сделать иногда включаемое Ethernet-соединение. Из дополнительного оборудования - только шнур для соединения по COM-порту компьютер-компьютер (DTE-DTE DB9). Шнур проверен, соединение между терминалами lin+minicom <-> win+putty работает без вопросов.

То есть, еще раз: нужна Ethernet-сеть через физический COM-порт. Весь интернет забит решением совершенно противоположной задачи - как сделать проброс COM-порта через Ethernt-сеть. А вот как пробросить Ethernet через COM-порт - такого не нашел ни в рунете, ни в англонете.

Насколько я понял, возможно, под Linux можно будет обойтись одним только socat (а возможно и нет, я не специалист в этих делах). Вроде как socat умеет создавать виртуальное сетевое TUN-устройство, которое можно связать с COM-портом. Но у меня это сделать не получилось.

Что делать на стороне Windows - вообще ума не приложу, но вроде имеется socat for windows.

У меня есть подозрение, что одним только socat обойтись не получится, и в Linux придется еще крутить что-то наподобе ip net tap, а на стороне Windows брать кусок OpenVPN, через который создастся виртуальные сетевой интерфейс, и на него завернуть COM-порт через socat for Windows.

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

И еще, я все никак не могу понять синтаксис socat: что указывается в качестве первого и второго адреса в параметрах? Для стороны Linux надо первым указать сетевое устройство, вторым - COM-порт или наоборот? А на стороне Windows как?

 , ,

Xintrea
()

Имеет ли смысл сейчас покупать 4G телефон в России?

Форум — Talks

В связи с ростом цен и общей обстановкой, плюс еще и старенький телефон с 12Gb основной памяти не хочет нормально работать с Gmail в котором 15Gb одной только почты и фотографий накопилось, да и аккумулятор на холоде на восьмом году стал плохо держать заряд, решил рассмотреть возможность заменить мобильник.

Сейчас распродают везде всякие Poco M4 Pro 4G 8/128GB по ~25 тонн. Имеет ли смысл брать такое устройство? С учетом что оно будет пользоваться в России, а в связи с санкциями 5G видится под большим вопросом.

Да и вообще кто что посоветует взять в качестве смартфона в это нелегкое время cуток?

Ограничения: до 25 тонн, IPS, 4GB ОЗУ минимум.

 , , ,

Xintrea
()

Через браузер и консоль отдается разный сертификат. Это что за?

Форум — Web-development

Имеется хост https://webhamster.ru. На нем используются сертификаты Lets Encrypt. Если в браузере посмотреть информацию о сертификате, то будут видны следующие даты:

Действителен с ‎30 ‎декабря ‎2021 ‎г. 8:15:11
Действителен по ‎30 ‎марта ‎2022 ‎г. 8:15:10

То есть, сертификат действителен, не просрочен.

Если же залогиниться в консоль этого хоста, и попробовать получить главную страницу через wget, то будет ошибка:
> wget https://webhamster.ru
--2022-01-11 14:16:46--  https://webhamster.ru/
Распознаётся webhamster.ru (webhamster.ru)… 193.124.188.214
Подключение к webhamster.ru (webhamster.ru)|193.124.188.214|:443... соединение установлено.
ОШИБКА: Нет доверия сертификату для «webhamster.ru».
ОШИБКА: Срок действия сертификата «webhamster.ru» истёк.

Хм, что за дичь, надо посмотреть через openssl:
> openssl s_client -showcerts -connect webhamster.ru:443
CONNECTED(00000003)
depth=3 O = Digital Signature Trust Co., CN = DST Root CA X3
verify error:num=10:certificate has expired
notAfter=Sep 30 14:01:15 2021 GMT
verify return:0

А тут показывается, что сертификат заканчивает действие 30 сентября 2021, то есть сертификат уже недействительный.

Я аж полез в конфиг nginx, посмотрел какой файл прописан в опции ssl_certificate, посмотрел информацию по нему:
> openssl x509 -in *****.pem -text
Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number:
            03:0d:58:dc:36:10:f7:40:f8:73:0c:19:ae:fc:d5:38:f0:00
    Signature Algorithm: sha256WithRSAEncryption
        Issuer: C=US, O=Let's Encrypt, CN=R3
        Validity
            Not Before: Dec 30 05:15:11 2021 GMT
            Not After : Mar 30 05:15:10 2022 GMT

А тут все нормально, даты правильные. В Nginx прописан один server для протокола HTTPS, у него одна опция ssl_certificate, никакой путанницы быть не может. Именно этот сертификат и отдается в браузер.

Но почему при запросе через wget и openssl отдается какой-то странный сертификат, с закончившейся датой действия?

 , , , ,

Xintrea
()

Проверить объект на принадлежность NoneType в Python3

Форум — Development

Никак не могу понять. У меня есть переменная неопределенного типа (ее возвращает Popen.communicate() в кортеже). Поэтому использовать эту переменную без проверки я не могу, ибо будет ошибка:

stdErrData.decode()
AttributeError: 'NoneType' object has no attribute 'decode'

Вроде как в Python3 есть функция проверки на принадлежность типу. Использую ее:
    errData=""
    if not isinstance(stdErrData, NoneType) :
      errData=stdErrData.decode()

Но и эта конструкция выдает ошибку:
line 25, in run 
   if not isinstance(stdOutData, NoneType) : 
NameError: name 'NoneType' is not defined

Как же блин проверить тип переменной в Python3?

 , pytnon, ,

Xintrea
()

Почему функция str() возвращает байтовый массив в Python3 ?

Форум — Development

Возникла необходимость написать пару скриптов на Python3 (если быть точным, 3.5.3 ибо дистр старенький, но его менять нельзя). До этого Питон щупал когда он был еще 2-й версии.

Есть следующий код:

    p=Popen(cmd, stdout=PIPE, shell=True)

    stdOutData, stdErrData = p.communicate()
    errCode=p.returncode

    print( "Std out data: "+str(stdOutData) )

В результате его работы в консоль выводится:
Std out data: b'/home/x/work/develop/python/lissage/step0000-showUserInfo.py\n'

Вроде как функция str() должна возвращать строку, а она возвращает, судя по выводу, байтовый массив.

Операционная система имеет кодировку UTF-8, файлы тоже в кодировке UTF-8.

Как получить строку в Python3 в этом коде?

 ,

Xintrea
()

Не могу использовать функцию IF() в Libre Office

Форум — General

Засовываю в ячейку следующую формулу:

=IF(0=1; 100; 250)

Но вместо 250 в ячейке пишется ошибка: «#ИМЯ?»

Вопрос: как правильно писать функцию IF чтобы она работала?

 ,

Xintrea
()

Проблема с группой в регулярке

Форум — Development

Есть текст:

static void OutClass::OurMethod(int a)
static void OurFunction(int b)

Надо получить:
OutClass::OurMethod(int a)
OurFunction(int b)

То есть, надо оставить имя C++ метода или функции и все что правее, а возвращаемый тип пропустить.

Я использую регулярку https://regex101.com/r/oax6bm/1:
\w+(::)?.*\(.*\)

И она не работает. Она матчит весь текст.

Проблема в кванторе вопроса ? для группы (::). Если его убрать, то для строки с OutMethod матчинг сработает правильно. Но двойное двоеточие может либо быть, либо не быть, поэтому я использую квантор ?. И с ним все ломается.

Как исправить?

 

Xintrea
()

Кино и космос

Форум — Talks

Смотрю сейчас трансляцию полета Союза на МКС с киноделами на борту с сайта NASA. При стыковке отказали оба аппарата управления сближением КУРС 1 и 2, стыковка произведена в ручном режиме.

При подготовке к открытию люка тренированная актриса прямым текстом говорит: «Я сейчас у вас тут сейчас уписаюсь, не могу больше терпеть». Тетка из NASA переводит что актриса роскосмоса собирается juice, и надо что-то делать.

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

В общем сейчас на орбите по-настоящему жарко.

https://www.youtube.com/watch?v=21X5lGlDOfg

 ,

Xintrea
()

Linux демо победило на фестивале Chaos Constructions 2021

Галерея — Скриншоты

По итогам прошедшего фестиваля компьютерного искусства Chaos Constructions 2021, в номинации One Scene demo compo первое место заняло кроссплатформенное демо Retrogram. Традиционно, в качестве программной PC-платформы для создания демо используется Windows, и множество инструментов демосцены существует только под платформу компании Микрософт. Однако Retrogram было изначально разработано под ОС Linux, а затем была сделана кроссплатформенная сборка, пригодная для запуска и в среде Windows.

В качестве OpenGL-обвязки была использована модифицированная open source утилита Bonzomatic, предназначенная для проведения реалтаймовых конкурсов в формате Shader Showdown. Сама сцена была написана на фрагментном GLSL шейдере с классической реализацией алгоритма Ray March с беззастенчивым использованием заранее подготовленных текстур. В процессе разработки была найдена ошибка в вычислении арктангенса в драйверах Mesa 13 в связке с Intel HD Graphics 4000 (используется в Debian 9), которая была исправлена в Debian 10.

Скриншот был сделан в момент проверки работоспособности демо на видеокарточке GeForce GT 640 с драйверами Mesa 18.1.3 в Astra Linux 1.6.

Следует отметить, что в номинации One Scene demo compo так же на первом месте (одинаковое количество очков) была демо Hypnotoad со всеми любимой гипножабой для ZX Spectrum от товарища Norduk, известного своими многочасовыми стримами на Youtube.

Подробности о демо и конференции CC2021 можно прочитать на сайте автора Retrogram.

 , ,

Xintrea
()

Команда экспорта *.svg в *.png в Inkscape: как отключить окно «png bitmap image import»?

Форум — General

Использую Inkscape 1.1.

Нужно мне сделать команду экспорта *.svg в *.png с помощью консольных опций Inkscape.

Картинка svg содержит растровые картинки, они интергрированы в svg-файл.

Я написал такую команду:

inkscape --export-width=1920 --export-type=png "page-01.png" "page-01.svg"

Проблема в том, что при запуске этой команды почему-то открывается окно «png bitmap image import», в котором спрашиваются Image Import Type, Image DPI, Image rendering mode. Такое окно обычно появляется, когда растровая картинка вставляется в svg-файл и интерфейсе Inkscape. В этом окне можно нажать Отмена, и консольная команда продолжит свою работу, png-файл будет сгенерирован правильно.

Вопрос: как подавить появление этого диалога, чтобы была только консоль? Пробовал в команду добавить:
--shell
--actions="quit"
--verb="quit"

и всякие подобные комбинации, но окно импорта все равно появляется.

Вопрос: как сделать чтобы это окно не появлялось и работал экспорт в консоли?

 , , , ,

Xintrea
()

Видеокарта Intel HD Graphics 4000 с Linux-драйверами i915 криво считает функцию арктангенса

Форум — General

Linux в очередной раз меня подвел.

На моем ноуте HP450 стоит карточка Intel HD Graphics 4000. Информация о чипсете и драйверах:

Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09)
        Kernel driver in use: i915
        Kernel modules: i915
filename:       /lib/modules/4.9.0-4-amd64/kernel/drivers/gpu/drm/i915/i915.ko
license:        GPL and additional rights
description:    Intel Graphics
author:         Intel Corporation
author:         Tungsten Graphics, Inc.
vermagic:       4.9.0-4-amd64

Так вот, наткнулся я на проблему в шейдерах GLSL локально в Bonzomatic, а потом увидел ее же в браузере в ShaderToy. Проблема в том, что функция atan() выдает дикую дичь.

Ссылка на пример: https://www.shadertoy.com/view/NljSzV

В телеграмканале «Newskool demomakers' chat» мне подтвердили, что на карточках других производителей такой проблемы не наблюдается.

Вначале думал, что проблема аппаратная. Но заморочился и на этом же оборудовании запустил Windows. И что я вижу? Все прекрасно работает, atan() считается как положено.

Пока что сделал workaround через арксинус, хорошо что хоть он вычисляется правильно:
float arctangens(float a)
{
    return asin(a/sqrt(1.0+a*a));
}

Но вообще прошу владельцев Intel-серии заглянуть по вышеуказанной ссылке и сказать, как двигается верхняя линия, с указанием модели своей карты и версии драйвера. Если atan() считается правильно, то линия должна плавно двигаться справа-налево. Если неправильно, то будет двигаться в разные стороны, иногда пропадать с экрана.

Возможно, в более новых модулях ядра эту проблему пофиксили. Но перед тем как заморачиваться с обновленем системы, хотелось бы понять, как обстоят дела с более свежими дровами.

 atan, , , ,

Xintrea
()

Как дать доступ пользователю монтировать сетевой каталог, прописанный в /etc/fstab ?

Форум — General

У меня в /etc/fstab прописана такая строчка:

//server.lo/pub /media/OurServer/pub cifs rw,file_mode=0777,dir_mode=0777,username=xintrea,user=xintrea,cruid=xintrea,vers=1.0,sec=krb5 0 0

Если я от пользователя root даю команду:
mount /media/OurServer/pub
то происходит монтирование сетевого каталога. Размонтирую.

Далее пробую от пользователя xintrea дать ту же самую команду. В ответ получается ошибка:
mount: only root can mount //server.lo/pub on /media/OurServer/pub

На просторах Интернета я нахожу утверждение, что если в опциях в файле /etc/fstab написано user=xintrea, то данному пользователю должно даваться разрешение на монтирование сего ресурса. Но на деле этого не происходит.

Вопрос: где что еще надо крутить, чтобы дать возможность пользователю примонтировать сетевой диск? pam_mount пока не рассматриваю, вначале надо разобраться что не так при обычном монтировании.

 , , , ,

Xintrea
()

RSS подписка на новые темы