PureBasic 6.30 beta 2 is ready !

Developed or developing a new product in PureBasic? Tell the world about it.
Fred
Administrator
Administrator
Posts: 18301
Joined: Fri May 17, 2002 4:39 pm
Location: France
Contact:

Re: PureBasic 6.30 beta 2 is ready !

Post by Fred »

Did you run it as root ? You need admin right on Linux or you need an hid.rules file as described here: https://github.com/libusb/hidapi?tab=readme-ov-file
infratec
Always Here
Always Here
Posts: 7654
Joined: Sun Sep 07, 2008 12:45 pm
Location: Germany

Re: PureBasic 6.30 beta 2 is ready !

Post by infratec »

Clanzer
New User
New User
Posts: 3
Joined: Thu Sep 04, 2025 5:05 pm

Re: PureBasic 6.30 beta 2 is ready !

Post by Clanzer »

Running compiler as sudo fixed it and all working now!
Thanks for the links also, will go and have a read.
User avatar
RalfP
New User
New User
Posts: 5
Joined: Wed Apr 23, 2025 12:19 pm
Location: Northern Germany

Re: PureBasic 6.30 beta 2 is ready !

Post by RalfP »

I think it's great that there's now an HID library in PB.
Thank you very much for that!
Is there any documentation for the commands somewhere?
User avatar
lazarusoft
User
User
Posts: 24
Joined: Wed Jan 10, 2007 10:17 pm
Location: Brasil

Re: PureBasic 6.30 beta 2 is ready !

Post by lazarusoft »

thanks for this
HeaderSection :D

Code: Select all

;------------------------------------------------------------------------------
; PureBasic 6.30 + backend C
;------------------------------------------------------------------------------

EnableExplicit

CompilerIf #PB_Compiler_Backend = #PB_Backend_C
  ;ldconfig -p | grep mongoc
  ImportC "-lmongoc-1.0 -lbson-1.0" : EndImport
CompilerElse
  CompilerError "Use #PB_Backend_C"
CompilerEndIf
;------------------------------------------------------------------------------
; Header C 
;------------------------------------------------------------------------------
HeaderSection
  #include <mongoc/mongoc.h>
EndHeaderSection

;------------------------------------------------------------------------------
; Prototypes 
;------------------------------------------------------------------------------
PrototypeC mongoc_init_proto()
PrototypeC mongoc_cleanup_proto()
PrototypeC.i mongoc_client_new_proto(uri.p-ascii)
PrototypeC mongoc_client_destroy_proto(client.i)
PrototypeC.i mongoc_client_get_database_proto(client.i, name.p-ascii)
PrototypeC mongoc_database_destroy_proto(db.i)

Global mongoc_init.mongoc_init_proto
Global mongoc_cleanup.mongoc_cleanup_proto
Global mongoc_client_new.mongoc_client_new_proto
Global mongoc_client_destroy.mongoc_client_destroy_proto
Global mongoc_client_get_database.mongoc_client_get_database_proto
Global mongoc_database_destroy.mongoc_database_destroy_proto

!g_mongoc_init                = &mongoc_init;
!g_mongoc_cleanup             = &mongoc_cleanup;
!g_mongoc_client_new          = &mongoc_client_new;
!g_mongoc_client_destroy      = &mongoc_client_destroy;
!g_mongoc_client_get_database = &mongoc_client_get_database;
!g_mongoc_database_destroy    = &mongoc_database_destroy;

;------------------------------------------------------------------------------

Procedure Main()
  Protected client.i=0, db.i=0
  Protected uri$="", dbname$=""
  
  uri$ = "mongodb://localhost/"
  dbname$ = "test"
  
  OpenConsole()
  PrintN( "Init driver...: mongodb://localhost/")
  mongoc_init()
  
  PrintN(  "create client...")
  client = mongoc_client_new(uri$)
  If client = 0
    PrintN(  "ERROR: not create client")
    ProcedureReturn
  EndIf
  
  PrintN(  "Open database '" + dbname$ + "'...")
  
  db = mongoc_client_get_database(client, dbname$)
  If db = 0
    PrintN(  "ERROR: not open database")
    ProcedureReturn
  EndIf 
  
  PrintN(  "Database open with success.")
  mongoc_database_destroy(db)
  
  mongoc_client_destroy(client)
  
  PrintN(  "Finish driver...")
  mongoc_cleanup()
  
  PrintN(  "End.")
EndProcedure

If #PB_Compiler_IsMainFile
  Main()
EndIf
Krix
User
User
Posts: 71
Joined: Fri Mar 11, 2005 6:24 pm
Location: Toronto

Re: PureBasic 6.30 beta 2 is ready !

Post by Krix »

Thank you Fred!

Talking about the 3D side of things...

Why not add other shadowing modes to the current ones? I'm pretty sure the texture shadow got some updates. It would be super awesome.
User_Russian
Addict
Addict
Posts: 1572
Joined: Wed Nov 12, 2008 5:01 pm
Location: Russia

Re: PureBasic 6.30 beta 2 is ready !

Post by User_Russian »

How to use hidraw backend instead of libusb? This is what is written on Github.
On Linux, either the hidraw or the libusb back-end can be used. There are tradeoffs, and the functionality supported is slightly different. Both are built by default. It is up to the application linking to hidapi to choose the backend at link time by linking to either libhidapi-libusb or libhidapi-hidraw.
User avatar
kenmo
Addict
Addict
Posts: 2049
Joined: Tue Dec 23, 2003 3:54 am

Re: PureBasic 6.30 beta 2 is ready !

Post by kenmo »

ScreenGadget :?: :shock: :mrgreen:
PeDe
Enthusiast
Enthusiast
Posts: 298
Joined: Sun Nov 26, 2017 3:13 pm

Re: PureBasic 6.30 beta 2 is ready !

Post by PeDe »

Hello Fred,

do you use the libusb functions libusb_detach_kernel_driver and libusb_attach_kernel_driver when opening and closing a device in the HID library under Linux?

With Rasbperry Pi OS (P400), I can no longer access a low-speed device (Brymen BC-86X adapter) when libusb_attach_kernel_driver is used when closing the device. There are no problems with a full-speed device (Brymen BC-86P adapter).

I checked this with my own HID/libusb code. I have no problems with the LowSpeed device on normal PCs running Linux.

Could you perhaps add a parameter to ‘CloseHID()’ for attach kernel drivers?

Peter
Post Reply