LINUX.ORG.RU

Сообщения sunjob

 

NAS & break permissions

Форум — Admin

день добрые, братцы кролики!

исходные

- NAS / OpenMediaVault-3.0.94
- hd1,hd2 - два диска EXT4, одинаково подключены/расшарены CIFS/SAMBA
- на 1м были изрядно "поломаны" пермишны (рут-не-рут, юзер-пузер, исполняемые-неисполняемы итд, короче, полный трындец)
- было сделано удаленное подключение к NAS-у, исправление пермишнов.

по пунктам

исправление пермишнов

cd /srv/dev-disk-by-label-hd1/hd1
chown -Rc sun:users ./
find ./ -type f -exec chmod 0664 {} +
find ./ -type d -exec chmod 0775 {} +
sync && reboot

после этого, почти все ОК, за исключением «недобитого бита исполнения».
на 2м диске с этим все нормально (трогать его «хекспериментальными» командами не будем, только поверхностно сравним поведение с 1м диском)

монтируются диски одинаково

sudo mount -t cifs //nas/hdX /mnt/nas_smb_hdX -o username=sun,password=@XXX@,vers=1.0

далее поочереди заходим в примонтированные каталоги и выполняем тест:
- создание текстового файла, смотрим пермишны
- снимаем/устанавливаем бит 'x', смотрим

#
# hd1
#

# создание файла
main$ ls -l text.txt
-rw-rw---- 1 sun users 0 Mar 28 16:37 text.txt

# снимаем бит
main$ chmod -x text.txt
main$ ls -l text.txt
-rw-rwx--- 1 sun users 0 Mar 28 16:37 text.txt*

# устанавливаем бит
main$ chmod +x text.txt
main$ ls -l text.txt
-rwxrwx--x 1 sun users 0 Mar 28 16:37 text.txt*

# снимаем бит
main$ chmod -x text.txt
main$ ls -l text.txt
-rw-rwx--- 1 sun users 0 Mar 28 16:37 text.txt*

#
# hd2
#

# создаем файл
main$ ls -l text.txt
-rw-rw-r-- 1 sun users 0 Mar 28 16:39 text.txt

# снимаем бит
main$ chmod -x text.txt
main$ ls -l text.txt
-rw-rw-r-- 1 sun users 0 Mar 28 16:39 text.txt

# устанавливаем бит
main$ chmod +x text.txt
main$ ls -l text.txt
-rwxrwxr-x 1 sun users 0 Mar 28 16:39 text.txt*

# снимаем бит
main$ ls -l text.txt
-rw-rw-r-- 1 sun users 0 Mar 28 16:39 text.txt

коротко:
на 1м диске бит устанавливается и более не снимается
на 2м поведение предсказуемое (устанавливается/сбрасывается как ожидалось)

уточнение:

chown sun:users 
интересует пока только работа под своим аккаунтом. но, неплохо-бы рассмотреть, так-же, особенность работы для множественного доступа к расшарке.

что необходимо: привести поведение 1го диска к норме (как 2го диска)

спасибо

p.s. тест на виртуалки с нуля

main$ echo "text" > text.txt
main$ ls -l text.txt
-rw-rw-r-- 1 sun users 5 Mar 28 19:40 text.txt
main$
main$ chmod -x text.txt
main$ ls -l text.txt
-rw-rw-r-- 1 sun users 5 Mar 28 19:40 text.txt
main$
main$ chmod +x text.txt
main$ ls -l text.txt
-rwxrwxr-x 1 sun users 5 Mar 28 19:40 text.txt*
main$
main$ chmod -x text.txt
main$ ls -l text.txt
-rw-rw-r-- 1 sun users 5 Mar 28 19:40 text.txt
main$

### update ###
пришлось переставить все с нуля :о)
всем спасибо за невмешательство (особенно отдельным личностям)

 , , ,

sunjob
()

avr & eeprom_update_block()

Форум — Development

день добрый, товарищи колдуны!

#include <avr/eeprom.h>
eeprom_update_xxx()     // - набор функций для типов byte,dword,float,word
eeprom_update_block()   // - работа с "блоком памяти"

если с 1м набором функций все понятно: - обновление/запись «области eeprom»/кастомного типа происходит, если данные не совпадают

по поводу 2го типа - не совсем понятно. допустим имеется структура

typedef struct 
{
uint8_t  a;
uint16_t b; 
uint32_t c;
} TSet;

то при вызове «апдейта», в случае неравенства одного из полей структуры - будет обнавлен только «одно» поле, или вся структура?! судя по описанию - обновиться/будет перезаписана вся структура.

за удобство загрузки/сохранения одним махом целой структуры - я не говорю, реально удобно! НО...получается, что если есть необходимость поотдельно работать с полями структуры, и менять периодически значения (не все сразу), то в данном случае eeprom_update_block() является не очень эфективным (в плане циклов перезаписи ячеек памяти)?!

обычно я сам составляю карту EEPROM, сам расчитываю указатели к переменным и, следовательно, не имею «указанных» проблем, обращаюсь напрямую, читаю/пишу/обновляю переменные «персонально».

сейчас решил разобраться более детально, ну и «удобства - скопом за раз» читать/сохранять структуры очень заманчиво!

какие будут мнения по этому поводу?! спасибо.

p.s. уточнение: чтени/перезапись идет во внутр. цикле побайтно! тут все понятно! URL
что по поводу оптимального доступа к отдельный полям структуры (имеется в виду - запись/обновление в eeprom)?

 ,

sunjob
()

переход с virtual-box на xen/qemu/virt-manager

Форум — Desktop

день добрый, господа колдуны! :о)

версия vbox, которая нужна - не собирает модули ядра в «новой версии» slackware, а те версии vbx-а, которые работают - сильно не устраивают.

подыскиваю замену, перерыл много инфы, вижу единственный вариант (subj)

поделитесь опытом, кто работает с данной связкой: плюсы, минусы, доп. пакеты, «заточки», на что обратить внимание, !!! особенно версии ядра/пакетов !!!

использоваться будет по максимуму, по всем направлениям

требования номер ноль:
- нормальная, безглючная работа share-папок (удобное конфигурирование)
- прямой проборос (мост) сетевой карты на реальную (удобство настроек, конфигурирования)

slackware-14.2/x64 
kernel  - 4.4.301 / nvidia-gts250
xen     - 4.13.1
qemu    - 4.1.1
libvirt - 4.5.0

 , , , ,

sunjob
()

mount cifs on slackware 15.x

Форум — Admin

день добрый, калдуны! :о)

для монтирования локальных NAS-share's используется «скрипт»

...
sudo mount -t cifs //nas/${P} ${MNT}_${P} -o username=${USER},password=${PASS}
...

на macosx 10.9.5, slackware 14.2 - все ок, монтируется, создается/пишется/читается/удаляется (RW)

на slackware 15.0 - монтируется без ошибок, доступа на запись нет

выхлоп смонтированных дисков

mount | grep nas

### sl15.0

//nas/hd0 on /mnt/nas_smb_hd0 type cifs (rw,relatime,vers=3.1.1,cache=strict,username=sun,uid=0,noforceuid,gid=0,noforcegid,addr=192.168.0.253,file_mode=0755,dir_mode=0755,soft,nounix,serverino,mapposix,rsize=4194304,wsize=4194304,bsize=1048576,echo_interval=60,actimeo=1)
//nas/hd1 on /mnt/nas_smb_hd1 type cifs (rw,relatime,vers=3.1.1,cache=strict,username=sun,uid=0,noforceuid,gid=0,noforcegid,addr=192.168.0.253,file_mode=0755,dir_mode=0755,soft,nounix,serverino,mapposix,rsize=4194304,wsize=4194304,bsize=1048576,echo_interval=60,actimeo=1)
//nas/hd2 on /mnt/nas_smb_hd2 type cifs (rw,relatime,vers=3.1.1,cache=strict,username=sun,uid=0,noforceuid,gid=0,noforcegid,addr=192.168.0.253,file_mode=0755,dir_mode=0755,soft,nounix,serverino,mapposix,rsize=4194304,wsize=4194304,bsize=1048576,echo_interval=60,actimeo=1)

### sl14.2

//nas/hd0 on /mnt/nas_smb_hd0 type cifs (rw)
//nas/hd1 on /mnt/nas_smb_hd1 type cifs (rw)
//nas/hd2 on /mnt/nas_smb_hd2 type cifs (rw)

проблему (на slackware 15.0) решает только «обоюдоострый струмент» в виде

-o noperm
или принудительное добавлени ID-ов
uid=$(id -u),gid=$(id -g)

хотелось-бы, все-таки разобраться с данным выкрутасом, что изменилось со времен slackware 14.2, etc..?

сенкю

дополнение (есть какая-то путаница :о)

атрибуты в sl14.2 все-таки «более правильные», нежели в sl15.0

в одном из каталогов (к примеру)


### slackware 14.2 

main$ ls -l
total 4096
-rw-r--r-- 1 sun users 1316222 Jul  6 13:09 Screen\ shot\ 2023-07-06\ at\ 13.09.29\ .png
-rw-r--r-- 1 sun users  276579 Jul 13 18:29 _SUN8114.jpg
-rw-rw-r-- 1 sun users    2275 Jul 31 13:39 письма_БПЛА.txt

### slackware 15.0

book$ ls -l
total 4096
-rwxr-xr-x 1 sun users 1316222 Jul  6 13:09 Screen\ shot\ 2023-07-06\ at\ 13.09.29\ .png*
-rwxr-xr-x 1 sun users  276579 Jul 13 18:29 _SUN8114.jpg*
-rwxr-xr-x 1 sun users    2275 Jul 31 13:39 письма_БПЛА.txt*

и это очень достает... особенно, если работаешь с шарами из под mc... реально напрягают атрибуты на исполнение sl15.0

копируешь на сервер из под
sl14.2 - атрибуты все сохраняются
sl15.0 - устанавливаются атрибуты на исполнение

 , , , ,

sunjob
()

Slackware 15.0, глючит display manager (TDM, TDE/Trinity)

Форум — Admin

добрый день

исходные:

- Slackware 15.0
- TDE/Trinity (версии 14.0.12, 14.0.13, 14.1.0)

- исходная система рабочая
- sddm - нормально стартует kde & tde
- tdm - системы не стартует, повисает на черном экране, ctrl + back-space сбрасывает нормально обратно на экран входа
- в логах ни чего подозрительного
- startx - запускает нормально tde
- пересобрал 3и версии TDE, в надежде, что это тринити глючит, косяк повторяется во всех 3х системах
- более подробные выхлопы (архив каталога логов, тестовое видео) URL

спасибо

 , ,

sunjob
()

настройка тачпада в KDE5, запуск настроек на TDE

Форум — Admin

добрый день, колдуны! :о)

исходные:

- Lenova ThinkPad T460 
- KDE5/Plasma (настройки тачпада)
- TDE/Trinity (основное DE)

1. как основное DE будет использоваться TDE 2. в KDE5 будет настраиваться тачпад (туча хитровыкрученных параметров :о)

какие настройки можно сделать в TDE14.1.0 я не в курсе, еще не видел, но как обычно, там все намного «проще», меньше кол-во настроек. в TDE14.0.11 нет вообще ничего по слову touchpad.

ВОПРОС: что скажут наши колдуны по поводу «запуска» в TDE настроек, сделанных в KDE5? НЕ ОБСУЖДАЕТСЯ: whay not KDE5?! :o)

p.s. прямо сейчас сам не могу, занят сборкой тринити «апосля» отпишусь после запуска этой заразы ну нубуке :о)

спасибо

tag: kde5, plasma, tde, trinity, touchpad, setup

 kde5, , , ,

sunjob
()

Telegram, выход из режима сна (sleep to ram)

Форум — Admin

добрый день.

через некоторое время использования (работа-слип-подьем, работа-слип-подьем...) у телеги отваливаются «уши» и оно перестает воспринимать наш прекрасный окружающий мир. проявляется это в постоянном «круглом» индикаторе «коннект» и фысе, более ни чего его не колышит и он не колышится :о)

лечится - перезагрузкой телеги

вопрос: может быть ему какого хитрого системно-несистемного пендиля не хватает в системных скриптах, типа:

/etc/acpi/sleep.sh
/etc/pm/sleep.d 

допускаю, что, окружение может «подкидывать» помидоры в турбину

исходные:

TDE Trinity 14.0.11
Slackware - 14.2 / x64
kernel- 4.4.276

спасибо, кланяюсь!

 , , sleep to ram,

sunjob
()

Telegram, удаление локального *.desktop-файла

Форум — Desktop

добре день, други, колдуны! :о)

сегодня телега выдала красно-кумачЁвый плакат, типа «давай, двигай на новую ось, иначе не сможешь дальше обнавляться» итд и все в таком духе. справа «крестик» (типа закрыть), естественно не срабатывает, кумачь так и развивается дальше.

ну... мне не шибко-т и надо обновлять (телегу), я пытаюсь общаться дальше «как-то так», но флаг достает своим присутствием, перегружаюсь, в надежде что «сгинет нечистая»... ага-щаз! сначало обнаруживается что «удалился» *.desktop-файл (я использую кастомные «дектопы» в хомятнике), пересоздаю, но кумач и ныне там... перегружаю еще раз - десктоп опять «пропадает».

это так нынче «модно» писать софт, который удаляет пользовательские данные? может он еще и историю зачистит в след. раз?!

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

да, я работаю на «старых» осях, если можно так назвать slackware14.2 (рабочий вариант), но мне кажется, это не повод так беспардонно поступасть ... :о) (это смайлик с носиком)

спасибо всем

 

sunjob
()

Как отключить «умную маскировку препроцессора» в QTCreator?

Форум — Development

Как отключить «умную маскировку препроцессора» в QTCreator?

возможно, это удобно «при определенных» условиях, но при «обычном» просмотре кода/исходников сильно мешает

- QTCreator-3.6.1 более новый не стартует на ноуте, на десктопах есть и более новые 4.х-версии, но и там не смог набегом найти настройки

PIC

спасибо

 

sunjob
()

qtcreator, openocd, atmel-ice, отладка класса

Форум — Development

добрый день

во время отладки не показывается ничего, связанное с классом

так и должно быть или есть куда рыть, чяво настраивать?!

в Atmel-Studio/vbox ни каких проблем.

p.s. встречал в инете мысли, что это нормально.

atmel ice-c (shareware... пардон, wave-share) 
qtcreator 4.15.2 (бинарная сборки с оффсайта) 
slackware 14.2 x64 
openocd   0.12 
arm_gdb   12.1 / py_3.7 

спасибо

 , , ,

sunjob
()

разработка пром.контроллера

Форум — General

добрый день

надеемся на то, что вы своим опытом и знаниями поможете нам.

заказали разработку контроллера (схема/печать/корпус/прототип) контроллер промышленный, будет использоваться в «грязной среде», с помехами, нужна соотв. защита контроллера, схемы, входов.
т.е. мы для себя (для своих целей) - заказали разработку контроллера у «разработчика» и сейчас вместе с «разработчиком» «уточняем нюансы схемотехники

схема и печать разработчиком сделана, сейчас разбираемся „что к чему“.

считаем, что некоторые моменты в схеме надо доработать, переписываемся с разработчиком, правим.

уперлись в входную часть схемы, грозозащиту.

у контроллера есть неск. типов входа:

- датчик „сухой контакт/концевик“ (замыкатели/размыкатели)
- датчик „виганд“ (передача по сет.кабелю/RJ45)
- сетевой интерфейс (передача по сет.кабелю/RJ45)

схема контроллера запитывается от 12В (сетевой DC-DC) через изолированный DC-DC 12-3.3В

т.е. имеется цифровая земля 3.3В / ARM-ядро (чистая) и грязная 12В + все, что „осталось“ до преобразователем DC-DC 12-3В

все датчики развязаны через „оптику“

сетевой интерфейс тоже „как-бы развязан“, чип запитывается от 3.3В, внешняя часть сет.модуля - RJ45 разьем и разделительный трансформатор

ЗК - шина „заземление-корпус“ (сокращение)

сама по себе шина „ЗК“ не предусмотрена разработчиком + корпус был подобран пластиковый.

мы считаем, что эта шина необходима, плюс необходимо так-же на „грязную землю“ поставить разрядники (не только на сигнальные) и сливать имненно на „ЗК“

разработчик считает что сливать помехи можно прямо на грязную землю, в связи с чем разрядник устанавливает только на сигнальные входные цепи, а „земляные“ (идущие в паре с сигнальным) - без разрядника, и использует „грязную землю“ как „ЗК“

на грязной земле у нас
- входные сигнальные линии
- „разделительная“ оптика
- индикаторные светодиоды
- питание реле

но тем не менее, мы считаем, что надо делать „правильно“.

...

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

спасибо

add

ВНИМАНИЕ - в данном топике мы обсуждаем текущую реализацию, ее плюсы/минусы а так-же ПРАВИЛЬНЫЕ, по вашему мнение, решения/доработки кот. можно сделать (аргументированно, конечно-же), в частности наше предложение сделать/добавить ШИНУ ЗАЗЕМЛЕНИЕ-КОРПУС

так-же приветствуются другие/подобные решения

 ,

sunjob
()

видеокарта для современного линукса

Форум — General

добрый день

subj: нужно подобрать видеокарту под «современный» линукс

- сейчас используется "ASUS GTS250 DN", тянет «все необходимые» приложения, т.е. мощности хватает
- нужна такая-же «в доску» стабильная карта (как и ASUS GTS250 DN)
- топовые карты не нужны, достаточно «аналога GTS250» в современных реалиях
- совместимая с современными blob драйверами nvidia, и современными / rolling дистрибутивами
- возможные «подводные камни»?
- в первую очередь стабильность и совместимость! мощность в самую последнюю очередь...не хуже чем GTS250 :о)

спасибо

p.s.
- блобы NVIDIA больше не поддерживаю данную карту. она еще встречается в «поздних» версиях драйвера, как поддерживаемая, но по сути последний рабочий драйвер 340.108, причем сборка модулей установщиком нормально проходит только в 340.107
- под 5й версией ядра - реальные проблемы
- возможно, в других дистрибутивах все намного лучше :о)

 , ,

sunjob
()

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

Форум — General

добрый день

нужно разработать/доработать схему (электроника) средней сложности.

кто занимался подобным (т.е. поиск разработчика/исполнителя), пожалуйста, поделитесь опытом, ссылками, сайтами, советами, подводными камнями, на что обратить внимание итд

спасибо

 

sunjob
()

Lazarus & MacOSX Maverick

Форум — Development

добрый день

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

Cannot find db used by fcllaz of package FCL
Cannot find gl used by agl

простые fpc-программки в консоли собираются без проблем

сначало, в диалоге с «путями» - выдавал предупреждение о том, что не найден fpc.cfg (сгенерил мануально, поместил «куда надо»)

под линуксом запуск лазаря проблем не вызывает, тему/гугль/ссылки изучил

предполагаю проблему: регистро-зависимые файловые системы (загрузочный и домашний том).

когда-то давно пробовал ставить MacOSX-10.6 SnowLeopard, так-же, на регистро-зависимый том и потом огребся неслабых проблем с работой даже самой оси, не говоря уже о сторонник программах.

казалось-бы, на юникс-подобной системе все должно-быть «так как надо», но не тут-то было, в купертино умеют подкинуть сюрпризы, с данным косяком столкнулся и он подтверждался не раз

нужна именно «Регистро-Зависимая Файловая Система», поэтому пока не обсуждается откат на «обычную» ф.с.

- Mac OSX 10.9.5 Maverick
- XCode 6.2  + command tools 
- fpc/lazarus - on sourceforge, all ver.

Mavericks_Xcode_5
Lazarus_on_macOS
sourceforge.net

идеи, предположения, ссыли, помидоры... за все огромное спасибо :о)

 , ,

sunjob
()

перенос сетевого приложения Delphi -> Lazarus

Форум — Development

добрый день

пытаюсь перенести приложение

Delphi (неизвестная версия, но, видимо, не сильно старая)
Lazarus - 2.0.12/2.2.0
fpc - соотв. версиям Lazarus

приложение предназначено для тестирования «сетевых технологий» (отправка/прием)

в лоб конвертировать приложение не получилось
menu/Tools/Delpi Conversion

в ручном режиме создал проект, добавил компоненты на форму, перетащил код:
1я часть/сервер работает (слушает порт, принимает запросы, выводит в TMemo)
2я часть/клиент уперлась в компонент THTTPClient. пытался заменить на «аналогичные», получал исключение

THTTPClient
-->
FPHTTPClient / use fphttpclient
IdHTTP       / Indy-10.6.2.0

идеи, пендили, помидоры... приветствуются :о)
спасибо

зы !!! (приложение не мое) !!! , и в сет. технологиях как ... короче, тема не мая :о)

mClientLog            : TMemo;

procedure TForm1.btnGetClick(Sender: TObject);
var
  SS: TStringStream;
  HttpClient: THTTPClient;
begin
  SS := TStringStream.Create('', TEncoding.UTF8);
  try
    HttpClient := THTTPClient.Create();
    try
      HttpClient.Get(teURL.Text, SS);
      mClientLog.Lines.Add(SS.DataString);
    finally
      HttpClient.Free;
    end;
  finally
    SS.Free;
  end;
end;

function TForm1.PostRequest(const AURL: String; ASource: TStrings): TStream;
var
  SS: TStringStream;
  HttpClient: THTTPClient;
begin
  Result := TStringStream.Create('', TEncoding.UTF8);
  try
    HttpClient := THTTPClient.Create();
    try
      HttpClient.Post(AURL, ASource, Result);
    finally
      HttpClient.Free;
    end;
  except
    Result.Free;
    raise;
  end;
end;

////////////////////////////////////////////////////////////////////////////////
//
// пытался заменить на TFPHTTPClient - вызывает исключение
// -> exception - Invalid Protocol: ""
//
////////////////////////////////////////////////////////////////////////////////

function TForm1.PostRequest(const AURL: String; ASource: TStrings): TStream;
var
  SS: TStringStream;
  HttpClient: TFPHTTPClient; //
begin
Result := TStringStream.Create('', TEncoding.UTF8);
  try
    HttpClient := TFPHTTPClient.Create(nil);
    try
      HttpClient.Post(AURL, ASource); // -> exception - Invalid Protocol: ""
    finally
      HttpClient.Free;
    end;
  except
    Result.Free;
    raise;
  end;
end;

 , , ,

sunjob
()

try-finally - освобождение ресурса (fpc/lazarus)

Форум — Development

добрый день разбираю чужой код, наткнулся на «его непонимание»

begin
var ResponceStream := PostRequest(UrlCtrl + '/api/hello', PostSource);
try
// here void
finally
  ResponceStream.Free;
  end;
end;

задал вопрос автору:

смысл использовать т.о. try-finally? если что-то случаться в процессе отправки запроса, то не произойдет «дефолтного» освобождения рессурса

получил ответ:

наоборот обязательно произойдет освобождение

поясните, почему? :о)

спасибо!

p.s. данный код из Delphi-проекта, переношу на Lazarus

 ,

sunjob
()

stm32, тест, непонятка с чтением состояния пина

Форум — General

добрый день

исходные данные:
stm32vldiscovery
STM32VL-Discovery-template
- No CubeX

набросал тест «помограть» с «кнопкой»
- синий св.диод моргает ~ 1Гц
- зеленый св.диод - меняет состояние по нажатию на кнопку

есть непонимание: код чтения пина кнопки «тормозит», точнее
- если код «чтения» заремить - то син.св.диод переключается «правильно», прим. 1Гц
- если код «включить», то син.св.диод переключается прим. в 2 раза медленнее

понятное дело, где-то тупой косяк, швыряйтесь наздоровье. спасибо

main.c

#include "stm32f10x.h"

#define TIMER_CNT 0xFFFFE

#define LED_B_SET (GPIO_SetBits  (GPIOC, GPIO_Pin_8))
#define LED_B_CLR (GPIO_ResetBits(GPIOC, GPIO_Pin_8))
#define LED_G_SET (GPIO_SetBits  (GPIOC, GPIO_Pin_9))
#define LED_G_CLR (GPIO_ResetBits(GPIOC, GPIO_Pin_9))

////////////////////////////////////////////////////////////////////////////////
void RCC_init()
////////////////////////////////////////////////////////////////////////////////
{
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE); // enable clocking on Port C
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
}
////////////////////////////////////////////////////////////////////////////////
void Setup(void)
////////////////////////////////////////////////////////////////////////////////
{
GPIO_InitTypeDef GPIOC_init_params;

RCC_init();

//
// 2 LED pin's
//
GPIOC_init_params.GPIO_Pin = GPIO_Pin_8 | GPIO_Pin_9; // Blue LED PC[8], Green LED PC[9]
GPIOC_init_params.GPIO_Speed = GPIO_Speed_10MHz;
GPIOC_init_params.GPIO_Mode  = GPIO_Mode_Out_PP;  // Push-pull output
GPIO_Init        (GPIOC, &GPIOC_init_params);

//
// Button
//
GPIOC_init_params.GPIO_Pin   = GPIO_Pin_0;        // user button PA0
GPIOC_init_params.GPIO_Speed = GPIO_Speed_10MHz;  // 10-50 по барабану
GPIOC_init_params.GPIO_Mode  = GPIO_Mode_IPD;     // GPIO_Mode_IPD - PD connect GND
GPIO_Init        (GPIOA, &GPIOC_init_params);     //
}
////////////////////////////////////////////////////////////////////////////////
int main(void)
////////////////////////////////////////////////////////////////////////////////
{
int cnt = TIMER_CNT;
int flag_time = 0;
int flag_btn  = 0;

while(1)
  {
  if(!cnt--)
    {
    flag_time = 1;
    cnt       = TIMER_CNT;
    }

  if(flag_time)
    {
    flag_time = 0;

    if(GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_8))    { LED_B_CLR; } // invert Blue Led
    else                                            { LED_B_SET; }

    if(flag_btn)
      {
      flag_btn = 0;

      if(GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_9))  { LED_G_CLR; } // invert Green Led
      else                                          { LED_G_SET; }
      }   // if(flag_btn)
    }     // if(flag_time)

  //
  // читаем пин-кнопку
  //
  if(GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_0))
    {
    flag_btn = 1;
    } //*/
  }     // while()
}
////////////////////////////////////////////////////////////////////////////////

 

sunjob
()

«break to out» from for/switch

Форум — Development

добрый день.
разбираю код (обычный си-код, без крестов):

1. switch вложен в for
2. выброс реализован «хаком» условия for

все работает, но при «обычном» многостраничном операторе switch-case такой выход «неочевиден».

вопрос: можно-ли как ни-будь красиво/очевидно/локонично реализовать выход из цикла

for(i=1; i<RET; i++)
{
...
switch(i)
  {
  case 10:
  if() 
    {
    ...
    RET = 11; // break to out
    }
  break;
  ...
  case 20:
  if() 
    {
    ...
    RET = 21;
    }
  break;
  ...
  case 30:
  if() 
    {
    ...
    RET = 31;
    }
  break;
  }   // switch()
}     // for()

 , , , ,

sunjob
()

стоковая XFCE, просто поржать... :о)

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

Добрый день!

Всё стоково/дефолтное (в меру возможностей), версии, пакеты, XFCE не настраивалась (и не планируется).

Решил просто посмотреть, а как оно там поживает, XFCE?!

Кликнул по текстовому файлу (с пробелами в имени) и вот что вышло :о)

пс. всем удачи и хорошего настроения! :о)

- slackware 14.2 x64
- xfce 
... ну и фсе :о)

>>> Просмотр (1676x1049, 568 Kb)

 , , ,

sunjob
()

ошибка сборки Qt5-приложения

Форум — Development

добрый день

подробности:
сборка на рабочей станции - с ошибкой
сборка на виртуалке - без проблем
прочие не Qt-сборки (на рабочей тачке) без проблем

конфигурации «виртуалка/раб.станция» примерно одинаковые, во вс.случае версии системы/пакетов из «одной бочки», ну и, понятное дело, на раб.тачке постоянно что-то настраивается, устанавливается, затачивается :о)

пробовал (не дало разультатов):
- проверять настройки рабочего окружения (env), ни чего особенного
- export UIC=$QTBIN/uic
- export QT_QMAKE_EXECUTABLE=$QMAKE
- export QMAKESPEC=$QTDIR/mkspecs/linux-g++-$_X # X=32/64
- /etc/ld.so.conf
- «прятал» все прочие версии qt, оставлял в системе только Qt5

- что-то подобное рассмотрено тут URL но, тем не менее, пока не рассматриваю, как «решение», т.к. в vbox-е собирается нормально (да и сборка qt нынче не сахар :о)

собранный в vbox-пакет иногда сваливается при запуске на раб.станции (грешу на запущенную vbox), но, если запустился, то работает нормально

слакбилд свой, но, надеюсь, он не имеет отношения к ошибке :о)

сделал выхлоп с обоих систем, нашел различие в командах (на ошибочной цели), вывод ниже

перепахивать/заново переустанавливать/перенастраивать рабочую станцию не буду, нет времени

пожалуйста, предлагаю просто высказываться, что думаете, где может быть зарыта собака, можно просто побалагурить на околотему, пошвыряться помидорами :о)

спасибо

нормальная сборка / from vbox - work code's

g++ -c -m64 -pipe -std=c++11 -O2 -fPIC -O2 -O2 -fPIC -std=gnu++11 -Wall -W -D_REENTRANT
-fPIC -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -I
-isystem /usr/include/qt5
-isystem /usr/include/qt5/QtWidgets
-isystem /usr/include/qt5/QtGui
-isystem /usr/include/qt5/QtNetwork
-isystem /usr/include/qt5/QtCore -I.moc
-isystem /usr/include/libdrm -I.ui -I/usr/lib64/qt5/mkspecs/linux-g++-64 -o
.obj/moc_qsynthPaletteForm.o .moc/moc_qsynthPaletteForm.cpp

сборка с ошибкой / на рабочей тачке

g++ -c -m64 -pipe -std=c++11 -O2 -fPIC -O2 -O2 -fPIC -std=gnu++11 -Wall -W -D_REENTRANT
-fPIC -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -I.
-I/usr/lib64/qt5/include
-I/usr/lib64/qt5/include/QtWidgets
-I/usr/lib64/qt5/include/QtGui
-I/usr/lib64/qt5/include/QtNetwork
-I/usr/lib64/qt5/include/QtCore -I.moc
-isystem /usr/include/libdrm -I.ui -I/usr/lib64/qt5/mkspecs/linux-g++-64 -o
.obj/moc_qsynthPaletteForm.o .moc/moc_qsynthPaletteForm.cpp

.moc/moc_qsynthPaletteForm.cpp:263:3: error: cannot convert ‘const QMetaObject* const*’ to ‘const
QMetaObject::SuperData*’ in initialization

 } };
   ^

исходные данные

- slackware  14.2 x64
- vbox       5.2.36
- qt5        5.12.8
- qt5_webkit 5.9.1
- qsynth     0.9.4

 ,

sunjob
()

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