Prog.Hu

Lazarus USB HID
0

2013-09-06T04:14+01:00
gaborm
gabormProg.Hu
regisztrált tag
Üdv!

Lazarus (Fedora 16 Linux x86_64) alatt szeretnék elérni HID USB eszközt.
A libusb használata javasolt és HID típusú eszköz esetén a HIDAPI: hid-api

Ezek a csomagok vannak fent:
libusb1-1.0.9-0.3.rc1.fc16.x86_64
libusb-devel-0.1.3-9.fc16.x86_64
libusb-0.1.3-9.fc16.x86_64
libusb-static-0.1.3-9.fc16.x86_64
libusb1-devel.x86_64 0:1.0.9-0.3.rc1.fc16

Illetve a hidapi-hoz:
libudev-devel-173-3.fc16.x86_64



A hidapi le is fordult:
[root@fedora linux]# ls
hid.c
hid-libusb.c
Makefile
README.txt
[root@fedora linux]# make
cc -Wall -g -c -I../hidapi `pkg-config libusb-1.0 --cflags` hid-libusb.c -o hid-libusb.o
hid-libusb.c: In function ‘hid_open_path’:
hid-libusb.c:748:10: warning: variable ‘num_devs’ set but not used [-Wunused-but-set-variable]
make: *** No rule to make target `../hidtest/hidtest.cpp', needed by `../hidtest/hidtest.o'. Stop.

Létrejött a "hid-libus.o" fájl.

Ezt kellene felhasználnom a Lazarusban?

Segítséget kérnék, előre is köszönöm!

G.
Mutasd a teljes hozzászólást!
Lazarus USB HID
2013-09-06T04:14+01:00
gaborm
gabormProg.Hu
regisztrált tag
Addig jutottam, hogy a libusb-vel is meg lehet oldani.
Ez a link segített:
MCUProgramming: Example in lazarus for libusb

Az eszközt már látom Lazarus-ból, bár a kommunikáció még nem megy egészen.
Mutasd a teljes hozzászólást!

A h2pas utility-vel kellene áttenni ObjPascal-ra?

Tud segíteni valaki?


G.

Mutasd a teljes hozzászólást!
h2pa cmodule.h -o pascalunit.pas -d

fontos, hogy:
{$link cmodule.o}
{$linklib c}
Mutasd a teljes hozzászólást!
Tud valaki segíteni, hogy hogyan lehet átteni a hid_libusb-t Lazarus-ra?
A hid-libusb.o megvan, a hidapi.h konveráltam:
h2pas hidapi.h -o hidapi.pas -d

De a hidapi.pas hibákat tartalmaz, ha le szeretném fordítani.


Hogyan kellene átfordítani a hidapi-t? :(
Mutasd a teljes hozzászólást!
Itt van egy hasonló minta:
MCUProgramming: Example in lazarus for libusb

Én is hasonlóan szeretném elérni a pic18 eszközt a libusb-vel.
Egy baja van, hogy az alábbi sornál elszáll SIGSEGV violation-val:

 if ( lisusb_kernel_driver_active(dev_handle, 0) ) ...

A Linux látja az eszközt, de mégis kernel driver gondja van?

Mutasd a teljes hozzászólást!
Addig jutottam, hogy a libusb-vel is meg lehet oldani.
Ez a link segített:
MCUProgramming: Example in lazarus for libusb

Az eszközt már látom Lazarus-ból, bár a kommunikáció még nem megy egészen.
Mutasd a teljes hozzászólást!