LINUX.ORG.RU

Сообщения artemka91

 

Хранение тестовых данных в файле. Ваш метод.

Пилю свой велосипед. Мой проект я делаю под себя, но если он будет годным, то выложу на суд общественности.

Процесс подошёл к реализации хранения неких разнообразных текстовых и числовых данных в файле.

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

Если необходимо, можно:

  1. Придумать свои осбоые правила компоновки,набор допустимых символов, реализовать их проверку;
  2. Шифровать;
  3. Ужимать текст;
  4. Вообще придумать свой алфавит и хранить в нём;
  5. итп у кого на что хватит фантазии и у кого какие задачи.

Собственно вопрос:

Есть ли какие стандарты по хранению информации в файле, или как обычно это реализуют умные дяди и солидные конторы?

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

 ,

artemka91
()

Клавиатура определяется как мышь.

Клавиатура A4TECH X7 G800V.
После очередного обновления перестала работать. Работают Esc, 1 и 2 соответственно как ЛКМ, скролл и ПКМ.
Кроме указанных клавиш xev ничего не видит. acpid определяет медийные кнопки.
В консоли всё работает.
Как вылечить?
Система: archlinux.
лог Xorg.0.log

cat /var/log/Xorg.0.log | grep A4TECH
[  6673.365] (II) config/udev: Adding input device A4TECH USB Device (/dev/input/event4)
[  6673.365] (**) A4TECH USB Device: Applying InputClass "evdev keyboard catchall"
[  6673.365] (**) A4TECH USB Device: Applying InputClass "joystick catchall"
[  6673.365] (II) Using input driver 'joystick' for 'A4TECH USB Device'
[  6673.365] (**) A4TECH USB Device: always reports core events
[  6673.365] (**) A4TECH USB Device (keys): Applying InputClass "evdev keyboard catchall"
[  6673.365] (**) A4TECH USB Device (keys): Applying InputClass "joystick catchall"
[  6673.365] (II) Using input driver 'joystick' for 'A4TECH USB Device (keys)'
[  6673.365] (**) A4TECH USB Device (keys): always reports core events
[  6673.365] (II) XINPUT: Adding extended input device "A4TECH USB Device (keys)" (type: JOYSTICK, id 8)
[  6673.380] (II) XINPUT: Adding extended input device "A4TECH USB Device" (type: JOYSTICK, id 9)
[  6673.380] (II) Joystick: A4TECH USB Device. bus 0x3 vendor 0x9da product 0x90c0 version 0x111
[  6673.399] (**) A4TECH USB Device: (accel) keeping acceleration scheme 1
[  6673.399] (**) A4TECH USB Device: (accel) acceleration profile 0
[  6673.399] (**) A4TECH USB Device: (accel) acceleration factor: 2.000
[  6673.399] (**) A4TECH USB Device: (accel) acceleration threshold: 4
[  6673.400] (II) config/udev: Adding input device A4TECH USB Device (/dev/input/js1)
[  6673.400] (II) config/udev: Adding input device A4TECH USB Device (/dev/input/event5)
[  6673.400] (**) A4TECH USB Device: Applying InputClass "evdev pointer catchall"
[  6673.400] (II) Using input driver 'evdev' for 'A4TECH USB Device'
[  6673.400] (**) A4TECH USB Device: always reports core events
[  6673.400] (**) evdev: A4TECH USB Device: Device: "/dev/input/event5"
[  6673.400] (--) evdev: A4TECH USB Device: Vendor 0x9da Product 0x90c0
[  6673.400] (--) evdev: A4TECH USB Device: Found 20 mouse buttons
[  6673.400] (--) evdev: A4TECH USB Device: Found scroll wheel(s)
[  6673.400] (--) evdev: A4TECH USB Device: Found relative axes
[  6673.400] (--) evdev: A4TECH USB Device: Found x and y relative axes
[  6673.400] (II) evdev: A4TECH USB Device: Configuring as mouse
[  6673.400] (II) evdev: A4TECH USB Device: Adding scrollwheel support
[  6673.400] (**) evdev: A4TECH USB Device: YAxisMapping: buttons 4 and 5
[  6673.400] (**) evdev: A4TECH USB Device: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
[  6673.400] (II) XINPUT: Adding extended input device "A4TECH USB Device" (type: MOUSE, id 10)
[  6673.400] (II) evdev: A4TECH USB Device: initialized for relative axes.
[  6673.400] (**) A4TECH USB Device: (accel) keeping acceleration scheme 1
[  6673.400] (**) A4TECH USB Device: (accel) acceleration profile 0
[  6673.400] (**) A4TECH USB Device: (accel) acceleration factor: 2.000
[  6673.400] (**) A4TECH USB Device: (accel) acceleration threshold: 4
[  6673.400] (II) config/udev: Adding input device A4TECH USB Device (/dev/input/mouse2)
[  6673.401] (II) config/udev: Adding input device A4TECH USB Device (/dev/input/event0)
[  6673.401] (**) A4TECH USB Device: Applying InputClass "evdev keyboard catchall"
[  6673.401] (**) A4TECH USB Device: Applying InputClass "joystick catchall"
[  6673.401] (II) Using input driver 'joystick' for 'A4TECH USB Device'
[  6673.401] (**) A4TECH USB Device: always reports core events
[  6673.401] (**) A4TECH USB Device (keys): Applying InputClass "evdev keyboard catchall"
[  6673.401] (**) A4TECH USB Device (keys): Applying InputClass "joystick catchall"
[  6673.401] (II) Using input driver 'joystick' for 'A4TECH USB Device (keys)'
[  6673.401] (**) A4TECH USB Device (keys): always reports core events
[  6673.401] (II) XINPUT: Adding extended input device "A4TECH USB Device (keys)" (type: JOYSTICK, id 11)
[  6673.401] (II) XINPUT: Adding extended input device "A4TECH USB Device" (type: JOYSTICK, id 12)
[  6673.401] (II) Joystick: A4TECH USB Device. bus 0x3 vendor 0x9da product 0x9090 version 0x111
[  6673.449] (**) A4TECH USB Device: (accel) keeping acceleration scheme 1
[  6673.449] (**) A4TECH USB Device: (accel) acceleration profile 0
[  6673.449] (**) A4TECH USB Device: (accel) acceleration factor: 2.000
[  6673.449] (**) A4TECH USB Device: (accel) acceleration threshold: 4
[  6673.449] (II) config/udev: Adding input device A4TECH USB Device (/dev/input/js0)
[  6673.450] (II) config/udev: Adding input device A4TECH USB Device (/dev/input/event1)
[  6673.450] (**) A4TECH USB Device: Applying InputClass "evdev pointer catchall"
[  6673.450] (II) Using input driver 'evdev' for 'A4TECH USB Device'
[  6673.450] (**) A4TECH USB Device: always reports core events
[  6673.450] (**) evdev: A4TECH USB Device: Device: "/dev/input/event1"
[  6673.450] (--) evdev: A4TECH USB Device: Vendor 0x9da Product 0x9090
[  6673.450] (--) evdev: A4TECH USB Device: Found 20 mouse buttons
[  6673.450] (--) evdev: A4TECH USB Device: Found scroll wheel(s)
[  6673.450] (--) evdev: A4TECH USB Device: Found relative axes
[  6673.450] (--) evdev: A4TECH USB Device: Found x and y relative axes
[  6673.450] (II) evdev: A4TECH USB Device: Configuring as mouse
[  6673.450] (II) evdev: A4TECH USB Device: Adding scrollwheel support
[  6673.450] (**) evdev: A4TECH USB Device: YAxisMapping: buttons 4 and 5
[  6673.450] (**) evdev: A4TECH USB Device: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
[  6673.450] (II) XINPUT: Adding extended input device "A4TECH USB Device" (type: MOUSE, id 13)
[  6673.450] (II) evdev: A4TECH USB Device: initialized for relative axes.
[  6673.450] (**) A4TECH USB Device: (accel) keeping acceleration scheme 1
[  6673.450] (**) A4TECH USB Device: (accel) acceleration profile 0
[  6673.450] (**) A4TECH USB Device: (accel) acceleration factor: 2.000
[  6673.450] (**) A4TECH USB Device: (accel) acceleration threshold: 4
[  6673.450] (II) config/udev: Adding input device A4TECH USB Device (/dev/input/mouse0)

 , , , ,

artemka91
()

Проектирование на ПЛИС

Предисловие:
Наша кафедра связи недавно закупила альтеровских ПЛИСок и хочет заделать из них лабораторные установки.Соответственно встал вопрос о том, кто этим всем будет заниматься. На кафедре всего один аспирант, хоть как то в них разбирающийся. Программировал он на quartus(ЯП verilog),программную оболочку делал на C++, связывал это всё наработкой питерских ребят.

Собственно вопросы:

  • Как и чем обычно пользуются другие разработчики ПЛИС?
  • Чем лучше организовывать передачу данных по USB?
  • Ну и хотелось бы ещё парочку советов и наставлений по теме от гуру электроники. :-[



PS Я - студент, энтузиаст, привлеченный к работе преподавателем.

 , , , ,

artemka91
()

Nofity-send и автомонтирование.

Захотел себе всплывающее уведомление автомонтирования флешек, но не знаю, откуда ловить событие. udev? dbus? systemd? Монтируется всё через pcmanfm. Система Arch i686. DM Openbox. Как сделать проще/лучше?

 , , ,

artemka91
()

wakeonlan vs netgear wnr612v2

В локалке всё работает, а вот через внешку не работает. Сделал переадресацию 7 и 9 портов на 192.168.1.2(ip целевого ПК). На 192.168.1.255 запрещает. Как быть? Есть подключение по telnet.

 , , , wnr612v2

artemka91
()

Прием/передача файлов по bluetooth

Такая тема: поставил себе gnome-bluetooth , передает замечательно, а вот принимать почему то не умеет. Ровно противоположное с blueman: файлы принимает, а при передаче выскакивает ошибка.

    on_transfer_started (/usr/bin/blueman-sendto:171)
    transfer started
    _________
    on_session_error (/usr/bin/blueman-sendto:254)
    session err org.openobex.Error.Timeout Request timeout
    _________
    on_session_error (/usr/bin/blueman-sendto:254)
    session err org.openobex.Error.LinkError Connection error
    _________
    on_disconnected (/usr/lib/python2.7/site-packages/blueman/ods/OdsSession.py:54)
    disconnected
    _________
    on_session_closed (/usr/lib/python2.7/site-packages/blueman/ods/OdsManager.py:48)
    __Session Closed__
    _________
    on_session_closed (/usr/lib/python2.7/site-packages/blueman/ods/OdsManager.py:48)
    __Session Closed__
    _________
    __init__ (/usr/lib/python2.7/site-packages/blueman/main/Device.py:35)
    caching initial properties
    _________
    __del__ (/usr/lib/python2.7/site-packages/blueman/main/Device.py:78)
    deleting device /org/bluez/838/hci0/dev_04_A8_2A_B4_80_9D
    _________
    Destroy (/usr/lib/python2.7/site-packages/blueman/main/Device.py:114)
    invalidating device /org/bluez/838/hci0/dev_04_A8_2A_B4_80_9D
    _________
    child_closed (/usr/lib/python2.7/site-packages/blueman/Functions.py:140)
    /usr/bin/blueman-sendto closed

Искал в гугле, ничего не нашел.

    $ pacman -Qs blue
    local/anyremote 5.5-1
        Remote control (console-oriented) through bluetooth or IR connection
    local/blueman 1.23-3
        GTK+ bluetooth manager
    local/bluez 4.99-2
        Libraries and tools for the Bluetooth protocol stack
    local/bluez-firmware 1.2-7
        Firmwares for Broadcom BCM203x and STLC2300 Bluetooth chips
    local/bluez-hcidump 2.4-1
        Bluetooth HCI package analyzer
    local/bluez-python 0.1.4-1
        A BlueZ python binding on top of dbus-python
    local/gnome-bluetooth 3.4.0-1
        The GNOME Bluetooth Subsystem
    local/gvfs-obexftp 1.12.2-1
        ObexFTP (bluetooth) backend for gvfs
    local/libbluedevil 1.9.2-1
        A Qt wrapper for bluez used in the new KDE bluetooth stack
    local/python-pybluez 0.18-3
        Python wrapper for the BlueZ Bluetooth stack

Как лечить? Или как прикрутить функцию приема файлов?

artemka91
()

Скрипт отображения уровня сигнала 3G модема.

Написал недавно простенький скриптик на Bash. Если вкратце, то он отправляет АТ команду на модем, считывает ответ, отрезает лишнее и подаёт на вывод уровень сигнала. Использую для отображения в conky.

#!/bin/sh
#Отправляем АТ команду на один из портов модема
echo -e "AT+CSQ\r\n" > /dev/ttyUSB1
# Ждём отклика модема
sleep 1
# Считываем вывод в файл и завершаем считывание через 1 сек.
cat /dev/ttyUSB1 > /tmp/sig &
sleep 1 &&  killall cat
# Отрезаем лишние символы.
#После отрезания cut'ом на выводе может оказаться либо "[0-9]," либо "[1-9][0-9]"  
# То есть нужно отрезать запятую, если она есть.  
r=`cat /tmp/sig | cut -c7-8|sed 's/,//'`
#Чистим за собой
rm -f /tmp/sig
#Формула для вычисления уровня сигнала в dB x=r*2-113, где r - вывод модема.
m=$((-113))
rur=$((r*2+$m))
#Проверяем, всё ли считалось с модема верно, если не считалось, то скрипт
#просто выводит предыдущее значение (заточено под conky)
if (($rur!=$m ))
then 
rm -f /tmp/sig1
echo $rur >/tmp/sig1
fi 
#Так как затачивалось всё под conky, нужно было более-менее исправное
#отображение уровня сигнала, поэтому вывод сохраняется в файл,
#и, в случае неудачного считывания, на вывод подаётся последний исправный.
cat /tmp/sig1
exit 0

C башем знаком плохо. Только учусь писать на нём скрипты. С удовольствием выслушаю замечания и рекомендации по коду.

artemka91
()

3g модем и уровень сигнала.

Вообщем решил сделать отображение уровня сигнала в коньках. Под рутом выполняю команду:

#echo -e "AT+CSQ\r\n" > /dev/ttyUSB2
Читаю вывод:

#cat /dev/ttyUSB2
+CSQ: 11,99

OK

Всё прекрасно определяется. При поднятии интернета устройство лочится и никаких операций с ним проводить нельзя. Вроде как так и должно быть, однако в винде родная прога и интернет поднимает и одновременно уровень сигнала показывает. Можно ли как нибудь реализовать подобное?

Для поднятия интернета пользуюсь pppd. Модем beeline ZTE MF626.

PS: При подключении модема определяются 3 порта: ttyUSB[0-2], но через 10 секунд ttyUSB[0-1] по неизвестной мне причине отрубаются..

artemka91
()

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