LINUX.ORG.RU

Сообщения velikS

 

Включить log4cplus в свой проект

Форум — Development

Всем Привет!

Ситуация примерно следующая: собирали наш проект к дефолтным log4cplus, но понадобилось кое-что добавить в код от log4cplus. Для этого просто добавили log4cplus в наши 3rd библиотеки и включили его через add_subdirectory(). Получили следующее: когда открываем cmake-gui, то видим наши options и кучу всего, что пришло с log4cplus, и что нам не надо видеть.

Вопрос понятен: есть ли простое решение для «проблемы»?

Всем спасибо,
С.

 

velikS
()

Странное поведение по access point

Форум — Development

Всем привет!

Имею: embedded систему под которую собран Линукс с Buildroot и основные утилиты на busybox. Есть беспроводной модуль, на который надо настроить AccessPoint и сперва просто протестировать соединение с прибором по iperf3 (прибор будет iperf сервер).

Для начала всё на статических IP адресах. Лэптоп настроен на статический 192.168.50.20. Прибору прописал:

ifconfig uap0 192.168.50.1
hostapd -B /etc.hostapd.conf

В /etc.hostapd.conf:
interface=uap0
driver=nl80211
ssid=DevHotspot
channel=1
ctrl_interface=/var/run/hostapd
logger_syslog=-1
logger_syslog_level=0
logger_stdout=-1
logger_stdout_level=0

Запускаю, лэптоп видит DevHotspot, соединяется. На стороне прибора по
hostapd_cli status
hostapd_cli list

вижу, что лэптоп соединился. Пробую на лэптопе пропинговать прибор и получаю
velik@velik-X270 ~ % ping 192.168.50.1                                                                                                                                                                                                                                    
PING 192.168.50.1 (192.168.50.1) 56(84) bytes of data.
From 192.168.50.20 icmp_seq=1 Destination Host Unreachable
From 192.168.50.20 icmp_seq=2 Destination Host Unreachable

Оставляю активным пинг на лэптопе. Пробую пропинговать лэптоп с прибора. Пинг проходит без ошибок. И, как только проходит первый пинг от прибора, начинает работать пинг с лэптопа (!). И с этого момента соединение работает как часы.

Вот не понимаю, где я туплю и что делаю не так. Почему не работает соединение, пока не пройдёт первый пакет от прибора?

Заранее спасибо за любые советы,
velik

 , ,

velikS
()

Управлять WiFi connman из Qt

Форум — Development

Всем Привет,

Имею примерно следующее: прибор в котором будет работать собранная на Buildroot Линукс система. В приборе есть Lan и WLan модуль. Также имеется Qt5.12 и connman. Для начала хотелось бы сделать что-то стандартное: просканировать какие WiFi точки видны, вывести качество сигнала (SignalStrength) и содиниться с ними по паролю.
Так вот, смотрю, что с connman можно общаться через DBus. Но не хочу изобретать велосипед. Нашёл в Qt QNetworkConfigurationManager, который, похоже, использует свой connman bearer плагин, но с ним могу только просканировать и найти точки доступа. И вот не найду, как можно подключиться к точке по паролю. Такое вообще возможно? Нашёл, что в Qt5.6 был QWiFiConfiguration, но его похоже убрали.

Заранее благодарен за любые советы,
Velik

 , ,

velikS
()

Оценка качества кода

Форум — Development

Всем привет!

Интересно, чем вы пользуетесь для сабжа? Интересно оценить сложность среднего размера проекта (где-то 1,2Мб С++ кода). Первое, что в голову пришло: cppcheck просто как анализатор того, сколько накосячено; pmccabe для заценить сколько ветвлений в функциях. А чем посоветуете оценить взаимосвязи модулей? Ну и вообще subj )))

Всем заранее спасибо,
velik

 ,

velikS
()

перевод С файла в бинарный код. Нужны идеи ))

Форум — Development

Всем привет,

Знаю, что название темы звучит несколько странно. Но что имею:
- XML файл, который с XSLT перевожу в С-Файл со значениями «запакованными» в структуру;
- Прибор, в котором надо перепрограммировать эту структуру со значениями;
- Заказчика, у которого нету нашего компилятора и программатора

Т.е. заказчик хочет что-то поменять в XML файле и перенести эти значения в прибор. Первое, что пришло в голову:
- Написать ещё один XSLT скрипт, который будет генерить питоновский скрипт со значениями из XML файла в текстовой форме. Потом запускается этот скрипт и генерится бинарный файл. Но для этого нужен питон на компе у заказчика
- дать заказчику пакет программ. В этом пакете будет компилятор, и несколько С файлов. Компилятор создаст программу с С-файлом со значениями. А наша С-программа будет писать этот бинарник. Всё бы хорошо, но нужен небольшой компилятор. Попробовал tcc. Он не компилирует мой С-файл. А MinGW больше 400МБ. С ним не пройдёт

Вот сижу, думаю, как такое ещё можно сделать.

Заранее благодарен за идеи.
Велик ))

 , , ,

velikS
()

Заменить пробелы в XML файле

Форум — Development

Всем привет!

Прислали мне тут, типа, XML файл, который с XML на самом-то деле не совместим. Файл очень большой и примерно следующего содержания:

	<Mode Number>1</Mode Number>
	<Min Set Temp>200</Min Set Temp>
	<Max Set Temp>550</Max Set Temp>
	<Default Temp>350</Default Temp>


Понятно, что в XML файле нельзя использовать пробелы в именах.

Как можно просто заменить пробелы на «_» для имён XML узлов? Т.е. только внутри «<» и «>» чтоб получилось:

	<Mode_Number>1</Mode_Number>
	<Min_Set_Temp>200</Min_Set_Temp>
	<Max_Set_Temp>550</Max_Set_Temp>
	<Default_Temp>350</Default_Temp>


Всем заранее Спасибо,

 ,

velikS
()

XSD. Описать поле в пределах других полей

Форум — Development

Всем привет!

ВОт пришлось впервые столкнуться с XSD. Надо создать схему проверки XML файла, для которого стоит следующее:
Min_Set_Temp [ Integer between 0 and 1000 ]
Max Set Temp [ Integer between 0 and 1000 ]
Default_Set_Temp [ Integer between Min Set Temp and Max Set Temp]

Вот не знаю как такое возможно в XSD. Пока имею следующий отрывок

<xs:simpleType name="tSetTemperature">
    <xs:restriction base="xs:unsignedShort">
        <xs:minInclusive value="0"/>
        <xs:maxInclusive value="1000"/>
    </xs:restriction>
</xs:simpleType>

<xs:element name="Bake">
  <xs:complexType>
    <xs:sequence>
        <xs:element name="MinSetTemp" type="tSetTemperature"/>
        <xs:element name="MaxSetTemp" type="tSetTemperature"/>

И КАК ТУТ ПРАВИЛЬНО ОПИСАТЬ DefaultTemperature?


    </xs:sequence>
  </xs:complexType>
</xs:element>



Есть ли у кого идеи, как быть?

Заранее благодарен,
velik

 

velikS
()

ГУЙ только одной программы

Форум — Development

Всем привет,

Есть тут одна контора, которой надо написать программу на Qt. Одно из требований заказчика, чтоб было видно только нашу программу и нельзя было просто так переключиться на что-то другое. Думаю, что программа будет работать на Xubuntu. Т.е. на XFCE. Попробовал QMainWindow включить в FullScreen. Всё замечательно - видно только нашу программу, пока программа не показывает какое-нибудь Popup окно. Тогда автоматически появляется панель таск-менеджера. Можно ли как-то программно запретить это дело? И ещё вопрос: как просто отключить/включить обратно Shortcuts? Поскольку ещё одно требование: по умолчанию видно только нашу программу и нельзя запустить ничего другого, но можно ввести пароль и система должна работать как нормальная.

Всем спасибо за идеи,
С.

 , ,

velikS
()

Проверить две сетевые на одном компе

Форум — Development

Всем привет!

Задачка примерно следующая: есть embedded приборчик на АРМ процессоре с двумя сетевыми. Надо проверить в производстве нормально ли работают сетевые. Соответственно для теста могу делать, что хочу. Первое, что пришло в голову, использовать ping. Но что-то я делаю не так. Может у кого есть идея?

Заранее спасибо,
velik


/ # ifconfig 
eth0      Link encap:Ethernet  HWaddr 74:E5:0B:0C:C9:E6  
          inet addr:192.168.1.11  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::76e5:bff:fe0c:c9e6/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:18 errors:0 dropped:0 overruns:0 frame:0
          TX packets:17 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:828 (828.0 B)  TX bytes:2826 (2.7 KiB)
          Interrupt:31 Base address:0xc000 

eth1      Link encap:Ethernet  HWaddr 74:E5:0B:0C:C9:E7  
          inet addr:192.168.1.12  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::76e5:bff:fe0c:c9e7/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:9 errors:0 dropped:0 overruns:0 frame:0
          TX packets:26 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:2106 (2.0 KiB)  TX bytes:1612 (1.5 KiB)

/ # route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.1.1     0.0.0.0         UG    0      0        0 eth1
default         192.168.1.1     0.0.0.0         UG    0      0        0 eth0
192.168.1.0     *               255.255.255.0   U     0      0        0 eth0
192.168.1.0     *               255.255.255.0   U     0      0        0 eth1
/ # ping -c 3 192.168.1.11 -I eth1
PING 192.168.1.11 (192.168.1.11): 56 data bytes

--- 192.168.1.11 ping statistics ---
3 packets transmitted, 0 packets received, 100% packet loss

 

velikS
()

Подключить USB bluetooth модуль

Форум — General

Всем привет.

Чё-та туплю я к вечеру не па-децки. Имею следующее: получил сегодня Evaluation Kit BT чипа от Bluegiga. Вставил в раб. комп, тот сразу определил его на hci1. Всё работает зашибись. Вставил в наш прибор. Никакого hci сходу не нашёл, хотя видит его на lsusb как «Bus 001 Device 005: ID 0a12:0000» Вот теперь сижу, гуглю и туплю как его подключить. В приборе я собрал blueZ 5.27. Знаю, что БТ модули на UART подключаются через hciattach. А как с УСБ?

Заранее спасибо,
velik

 

velikS
()

Проблема с переездом на device tree

Форум — Development

Всем привет,

Надо в одном встроенном устройстве на Atmel ARM процессоре переехать с 3.10 на новое ядро. Взял 3.19. И тут заподлец - ребята переехали в 3.19 на device tree. Ну ладно. Хочу скомпилировать ядро снячала просто для Evaluation Kit. Вызываю:

Kernel$ make -j4 ARCH=arm CROSS_COMPILE=/home/Developer/Toolchain/arm-toolchain/usr/bin/arm-linux- at91_dt_defconfig at91sam9m10g45ek.dtb

Получаю:

DTC arch/arm/boot/dts/at91sam9m10g45ek.dtb
In file included from arch/arm/boot/dts/at91sam9m10g45ek.dts:10:0:
arch/arm/boot/dts/at91sam9g45.dtsi:13:34: fatal error: dt-bindings/dma/at91.h: No such file or directory
compilation terminated.
make[2]: *** [arch/arm/boot/dts/at91sam9m10g45ek.dtb] Error 1

Это как понимать? Похоже этот DTC не находит заголовочные файлы, но не найду, как ему указать пути поиска? Или, может, я что-то совсем не догоняю?

Всем заранее спасибо, velik

 

velikS
()

Почистить активный лог. Как?

Форум — Development

Всем привет!

Пользуюсь log4cplus. Есть ситуация, когда надо удалить все логи. Просто тупо удаляю лог-файлы и получаю следующую фишку: новые лог сообщения показываются в консоли,но лог файл не создаётся. Надо перегрузить прибор и тогда новые лог сообщения пишутся в файл. Уже замучался искать, откуда ноги растут. Может кто с подобным встречался и пнёт советом? Вот мой файл с настройками лога:

# specific loggers
log4cplus.logger.serviceLogger=TRACE, stdout_Service, file_Service
log4cplus.additivity.serviceLogger=false

# Service logger messages
log4cplus.appender.stdout_Service=log4cplus::ConsoleAppender
log4cplus.appender.stdout_Service.layout=log4cplus::PatternLayout
log4cplus.appender.stdout_Service.layout.ConversionPattern=%d{%H.%M.%S} %m%n

log4cplus.appender.file_Service=log4cplus::RollingFileAppender
log4cplus.appender.file_Service.File=/mnt/data/maintenance/service.log
log4cplus.appender.file_Service.MaxFileSize=100KB
log4cplus.appender.file_Service.MaxBackupIndex=1
log4cplus.appender.file_Service.layout=log4cplus::PatternLayout
log4cplus.appender.file_Service.layout.ConversionPattern=%d{%d.%m.%y %H.%M} %m%n

Заранее спасибо velik

 

velikS
()

Автоматическое установление соединения с BT мышкой

Форум — General

Всем привет!

Купил себе для Lenovo X220 bluetooth мышку.
Пользуюсь Kubuntu14.04.
Пользуюсь каким-то Kubuntu апплетом. Без проблем нашёл мышку, соединился, всё работает прекрасно. Но как только выключаю и заново включаю мышку, то приходится заново устанавливать соединение вручную. Есть ли возможность как-то определять и подключать её автоматически (как в Windows)? А то задалбывает ручное переподключение

Всем заранее Спасибо,
velik

velikS
()

Непонятки с 3.10

Форум — Development

Всем привет.

Что-то странное наблюдаю с 3.9 и 3.10. Может кто тут подскажет, куда копать?

Имею следующее: платка на АРМ процессоре AT91SAM9G45, пока крутится на 3.8.13 без проблем. Захотелось попробовать свежее ядро. ещё есть у меня драйвер управления бипером (для акустического подтверждения того, что пользователь нажал кнопку на GUI) и в этом драйвере запрограммирован hr_timer. С этим таймером я запрограммировал длительность бипа. Т.е. бипер включается при приеме команды, таймер выставляется на длительность и в callback методе таймера бипер выключается. С 3.8 никаких проблем. Но с 3.9 или 3.10 мой таймер частенько может пищать вместо нескольких милисекунд примерно секунду (!!!)
Причем во время этого длинного пищания прибор вполне себе реагирует на нажатия тач скрина. Короче, фигня какая-то и не пойму откуда ноги растут.

Кто-то уже видел подобное?
Заранее спасибо за ответы,
velik

 , , , ,

velikS
()

Слетела система. Не пойму, как восстановить

Форум — General

Всем привет!

Что-то странное произошло. Выключил комп, включаю, он выдает:

error: file '/boot/vmlinuz-3.8.0-19-generic' not found error: you need to load the kernel first...

Хм. Загрузился с Live стика. Смотрю, что лежит в boot директории слетевшей системы. Там только ядро 3.8.0-21. Интересно, с какого перепуга взялось 3.8.0-19???

Ладно. Сделал что-то стандартное вроде:

 sudo mount /dev/sda6 /mnt 
 sudo mount -o bind /dev /mnt/dev
 sudo mount -o bind /sys /mnt/sys 
 sudo mount -t proc /proc /mnt/proc 
 sudo cp /proc/mounts /mnt/etc/mtab 
 sudo chroot /mnt /bin/bash
 grub-install /dev/sda
 update-grub 

Перегружаюсь, опять хочет 19. ЧЯДНТ? Система кубунта13.04

Всем спасибо,

velik

velikS
()

Вопрос по klogd: Как получить стартовые сообщения ядра

Форум — General

Всем привет,

У меня примерно следующая проблема: использую syslogd+klogd от busybox связку в embedded приборчике. Запускаю syslogd+klogd из инит-процесса. В лог файл попадают вещи, которые генерятся ядром уже после запуска клогд. А как получить в лог файл то, что происходило ДО запуска логеров, т.е. то, что выводится с dmesg?

Всем спасибо,
velikS

 klogd, ,

velikS
()

Как в миникоме сменить \r на \n или на \r\n?

Форум — General

Всем привет!

Совершенно примитивный вопрос, но не могу найти ответ в гугле :) Имею: соединение с прибором по RS232, передаю в него команды, набирая строку и нажимая ENTER. Так вот minicom передаёт '\r', а прибор «настроен» на строку с концом '\n'. Соответственно нифига не принимает. Подскажите плз, где поменять, чтоб он отсылал '\n' или «\r\n».

Спасибо,
velik

 

velikS
()

Ошибки при rebase. Как побороть?

Форум — Development

Всем привет!

Склонировал я когда-то 3.3 ядро для использования в одном приборе. Потихоньку пришлось некоторые вещи подрихтовать для себя. Соответственно появились десятка два моих коммитов на 3.3 основе. Между делом появились 3.3.1 - 3.3.8. Я перенёс свои изменения на эти ядра с чем-то вроде «git fetch stable» + «git rebase 3.3.8». Всё работало на Ура. Вот сейчас хочу перенести свои коммиты на 3.7 ядро. При этом получаю ошибку mergА в файле, который никогда не трогал:

velik@work:/home/Developer/Work/trunk/Kernel$ git rebase v3.7
First, rewinding head to replay your work on top of it...
Applying: staging: android/lowmemorykiller: Don't unregister notifier from atomic context
Using index info to reconstruct a base tree...
Falling back to patching base and 3-way merge...
Auto-merging drivers/staging/android/lowmemorykiller.c
CONFLICT (content): Merge conflict in drivers/staging/android/lowmemorykiller.c
Failed to merge in the changes.
Patch failed at 0001 staging: android/lowmemorykiller: Don't unregister notifier from atomic context

Такое ощущение, что гит отматывает не только мои коммиты на 3.3 ветке, а гораздо дальше... Кто-то с таким уже встречался? Как можно побороть? И немного другой вопрос, но из этой же темы: Есть ли возможность в git rebase указать, что я хочу перенести не все мои коммиты с 3.3 ветки на 3.7, а, допустим, только два последних?

Всем спасибо velik

 

velikS
()

Сделать ссылку на веб странице на webmin

Форум — General

Всем привет!

Есть весьма примитивный вопрос, на который не найду решения в гугле. Имею: примитивный сервер, на который поставил webmin. Webmin прекрасно отзывается на https://адрес-сервера:10000. На сервере запущен апач, с примитивной веб мордой примерно следующего содержания:

<p><a href="mediawiki">Wiki</a></p>
<p><a href="phpbb">Forum</a></p>
<p><a href="gitweb">Git repository</a></p>
<p><a href="developer">Browse developing state</a></p>

Т.е. со ссылками на установленные прибамбасы. Хочется сделать на этой же страничке ещё и ссылку на webmin. но когда добавляю следующую строку:

<p><a href="https://localhost:10000">Test</a></p>

то меня, естессно, перенаправляет не на webmin на сервере, а на webmin на рабочей машине. Подскажите: как сделать правильно?

Всем спасибо

 

velikS
()

регулярное выражение

Форум — Development

Всем привет.

Что-то туплю я с поведением простого выражения. Надо: просто получить 4 символа в конце одного выражения. Что может быть проще? Но почему мне этот вариант:

echo "hello_world_release-0003-1-g8dc5266" |  sed -e 's/\(....\)$/\1/'

выдаёт hello_world_release-0003-1-g8dc5266 ? Вот такой вариант, например, работает без проблем:

velik@sve:/home/TMP/$ echo "hello_world_release-0003-1-g8dc5266" |  sed -e 's/.*\(....\)$/\1/'                                       
5266

Где я туплю? Разве \(....\)$ не означает, что не надо 4 символа с конца строки?

Всем спасибо, velik

 

velikS
()

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