Jump to content
The simFlight Network Forums

markB139

Members
  • Posts

    7
  • Joined

  • Last visited

Profile Information

  • Gender
    Not Telling
  • Location
    Scotland

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

markB139's Achievements

Newbie

Newbie (1/14)

  • First Post Rare
  • Conversation Starter Rare
  • Week One Done Rare
  • One Month Later Rare
  • One Year In Rare

Recent Badges

0

Reputation

  1. Ah ha, think my understanding of lua needs work 🙂 This has just worked -- send ascii for 3 to feature 1 binstr = string.char(0x01, 0x33) ipc.log("binstr "..binstr) written = com.writefeature(handle, binstr, 2)
  2. As an update. Reading and reacting to button pushes and the change in rotary encoder are working nicely. I'm now trying to send data back to the HID device. I'm using -- send 51 (ascii 3) to report 1 written = com.writefeature(handle, {1,51}, 2) ipc.log("written="..written) However, I get 0 bytes written and I see no activity in wireshark. I do see the data in wireshark for readreport and readfeature. I can send the feature report in a Python script using the pywinusb hid library and I can see the traffic. Is there anyway to get any Windows API error codes logged ? cheers Mark
  3. In the FSUIPC.log I get 453 Product= Pico Controller 453 Manufacturer= MarkB 453 Serial Number= 888888 453 Vendor=CAFE, Product=4004 (Version 1.0) 453 GUIDs returned for product: VID_CAFE&PID_4004: 453 GUID= {4026DA40-CB00-11ED-8001-444553540000} 453 Details: Btns=32, POVs=(0, 0, 0, 0), Cal=x00000000, Max=R127,U127,V127,X127,Y127,Z127 453 ------------------------------------------------------------------- 500 Device acquired for use: 500 Joystick ID = 0 (Registry okay) 500 0=TinyUSB Device HID 500 0.GUID={4026DA40-CB00-11ED-8001-444553540000} I'm still learning about how USB HID report descriptors work. I think I set mine up as a desktop gamepad (type 0x04) Today I've wired up a couple of buttons to my breadboard. I can assign the buttons using the FSUIPC UI. I now need to buy more buttons 🙂 Cheers Mark
  4. Hi, Yes, my Pico is being recognised as a HID device. In case anybody in the future reads this: I've just tried an experiment that seems to work quite well. I open my HID device (please ignore the ID's they aren't official - just for my testing) and can watch for data coming in handle, rd, rdf, wr, initreport = com.openhid(0xcafe, 0x4004) event.com(handle, 100, 0, "test_com") I then use a lua struct library (not sure I actually need to do this) and call one of two functions (taken and modified from the Linda aerosoft a320 code) depending on the sign of the delta function test_com(hand, datastr, len) local a,b,c,d,e,f,g,h,i,j,k,l, delta = struct.unpack('bbbbbbbbbbbbb', datastr) if delta > 0 then AB_HDG_plus(delta) end if delta < 0 then AB_HDG_minus(-delta) end end This works reasonably well in that the heading changes quite quickly to my rotation of the encoder with very little lag. I like this solution as it requires fewer bits of code to maintain. cheers Mark
  5. Hi all, After a "short" break of 20 years, my interest in flight siming has gotten re-sparked. My ancient (2011) laptop is not up to running the latest and greatest, but it was a powerful machine when new and is more than capable of running FSX at max settings. I've even bought a copy of the excellent Aerosoft A320 add-on. As a developer, and original author of the Java FSUIPC sdk, I decided to have a look at what has been going on since 2003 🙂 I'm now mainly a Python developer having dropped Java behind many moons ago. I was pleased to see a python SDK for FSUIPC so I bought myself a license to have a poke about. I quickly realised I wanted to try and build some real hardware as I tried this in the past - I even have the rotary encoders. I got a Raspberry Pi Pico reading an encoder and pretending to be a joystick. USB was out of my league in 2003. This all works nicely, except when setting a rotary control (SPD or HDG). My option seems to be to call a lua script to increment or decrement the appropriate control based on an emulated button push. The response from the panel is quite slow - I've found a few other forum posts from the past where people have had similar issues. I have now modified my Pico code to send delta's (as a Dial control) based on the speed of rotation and I'm using Python to set the HDG bug via one L:VAR. It responds really nicely. My question is: Is this the way to go - i.e create python app to react to the joystick dial events and write to LVARS ? or am I over thinking things I haven't yet looked at the comms event handling in lua Cheers Mark
  6. Hi, I'm very happy that somebody found the work useful and feel free to use the code anyway you like. My own projects using this code have taken a back seat for a while. Regards Mark
  7. Hi, I was the origonal author of the java sdk. Every few years I check in :) I started the project in 2003 so that I could interface with some hardware I was building. Work and life have interviened in interesting ways since and the project is now sitting in a box in the garage (hopefully protected from the damp and cold) Did you get it to work? The byte ordering should be the same as what comes out of the C windows dll.
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use. Guidelines Privacy Policy We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.