Forum Replies Created

Viewing 15 posts - 1 through 15 (of 50 total)
  • Author
    Posts
  • in reply to: PC fails to boot when kinect is left plugged in USB port #113205

    liudr
    Participant

    I was using a MEGA2560 for the version 1 in the aluminum box. You could use UNO. You just need two IO pins to drive the relays to turn on the data pins. I usually build my boards in batches to save time. I’ll build a couple of these next time I run a batch just in case someone wants one. If you are within US, I can ship you one with $25 + shipping (probably $3). It’s half parts cost half labor. I’d ask for more if you were selling them.

    in reply to: PC fails to boot when kinect is left plugged in USB port #113056

    liudr
    Participant

    Code is simple. The board doesn’t have a USB serial port to connect to arduino IDE or a 16MHz crystal so it needs to be flashed via the ICSP header with 8MHz internal oscillator option. You can’t hand solder the board. It needs to be reflowed. My version 1 had a relay to connect USB and it took a bigger box to fit everything inside. This version uses a dedicated USB switch IC to connect USB after the 10 (not 8 sorry) second delay. The parts and reflow work isn’t beginner level. If you were selling the sandboxes, you should get one made for you. I know how hard school budgets can be. I made one for myself and have spare parts for more. If you want to make your own version with arduino and relay shield/module, you can too. You need a relay shield or module that has at least two relays to connect the two USB data lines. Salvage an old USB mouse for its cord and pass the data lines through the relays. Use AC adapter to power arduino. Then you still have to salvage a USB extension cord so you can connect to kinect. It took me maybe 2 hours once I had everything else ready to go but I’m very good at these things. And it’s just gonna look bulky 🙂

    /*
    * Credit: Dr. John Liu
    * Purpose: This sketch delays the connection of a USB device to host PC by delay_ms amount of time so that it may not be detected by BIOS, which may freeze.
    * 2018-01-12
    */
    // USB delay connect
    //D2 controls selection
    //D3 controls !OE
    //Delay the pass through of D+ and D- for delay_ms before connecting, after power up.
    const unsigned long delay_ms=10000;
    void setup()
    {
    digitalWrite(2,LOW);
    digitalWrite(3,LOW);
    pinMode(2,OUTPUT);
    }

    void loop()
    {
    delay(delay_ms);
    pinMode(3,OUTPUT);
    while(1){}
    }

    in reply to: PC fails to boot when kinect is left plugged in USB port #112992

    liudr
    Participant

    Nope! HP sucks. I built a second version of the delay box for my HP desktop.

    Delay circuit V2

    Left side accepts a USB and right side is mini-USB to be connected to PC. Delay is set to 8 seconds. Works 100% of the time.

    My HP laptop had to use a USB hub if I wanted to use Kinect otherwise it won’t work. You can try connect Kinect to a USB hub to see your luck. If you’re making this setup to sell, contact me. I can make a delay adapter for you.

    in reply to: Unexpected screen after software installation #112960

    liudr
    Participant

    Is this a Kinect for xbox one? I went down this route only to find the image to look like this (with actual depth map but warped) and arsandbox couldn’t understand the data format to make use of it.

    in reply to: Sandbox crash into light blue screen with stripes #112957

    liudr
    Participant

    That probably requires changes to the source code. Last time I tried to add some features to the code it took a lot of effort and help from Dr. Kreylos. I imagine the code needs to recognize the Kinect is not supplying correct frames and then restart.

    in reply to: MW632 Projector Overheating and Shutting Off #112929

    liudr
    Participant

    Did you have any obstructions to the heat vents? Since it is a BenQ, the LED would tell you what it was doing. I had one particular projector bought new but it once or twice flashed LED saying the bulb needs change and shuts down like you described yours. Mine was MX631XT. Great machine otherwise.

    in reply to: Sandbox on a budget… #112928

    liudr
    Participant

    No, the speed doesn’t come from the hard drive/SSD. It comes primarily from the video card, which is quite expensive, running you $200 and up. I have not been successful with Radeon RX video cards but I’ve found some comparisons between radeon hd 4650 and Nvidia GT 710 being comparable. I know for sure GT series can’t do it so that infers 4650 can’t either. Think GTX series. Recommended is 1050 Ti or better. I’ve used 1050 Ti and 1060.

    Expect to spend say around 700 USD on a gaming computer. The water simulation is brutal on your wallet but that’s why it looks so real. Also get a recent i5/i7 at 3GHz or better. I was able to use an i3-7100 but it could use some upgrade.

    in reply to: Sandbox crash into light blue screen with stripes #112927

    liudr
    Participant

    My guess is the Kinect crashed either the driver stops getting frames from it or the hardware causes it. I occasionally get that type of screen on startup, maybe some race condition. I also do a 30 second sleep but that doesn’t prevent all the crashes at boot, just making it less often. I wish there were a solution. If this is a setup you made for someone else, place a short cut on the desktop so they can quit the sandbox and restart it easily.

    in reply to: How to display numbers with the contours? #111065

    liudr
    Participant

    MaxD,

    The two most recent posts on my blog have a lot of details including the Arduino code.

    https://liudr.wordpress.com/

    I don’t know how much you know about hardware and software. I had to change a number of source files and recompile to add the elevation change feature. You’ll have to replicate that, which is doable if you have some basics of linux. You will get the features and can bind to keyboard keys. The construction of the control box needs skills in building electrical circuits such as soldering wires, hooking up components to arduino, and programming an arduino. I might be able to make some kits or complete boxes but I don’t know if there’s enough interest.

    in reply to: How to display numbers with the contours? #111064

    liudr
    Participant

    Thanks Oliver. I’ll give that a try. Is there anywhere to find out about the syntax of the key binding .cfg file? I tried a couple dozen times to successfully bind all keys. Your example on another post only binds two keys to global water tools.
    If I do run scripts this way, how will the script know what the current elevation is? I thought that only functions within sandobx.cpp can access the configuration struct.

    in reply to: How to display numbers with the contours? #111023

    liudr
    Participant

    Thanks for the direction. I’m sure there’s more than one solution to this problem. I’m more concerned with how to keep a Python script in focus to receive button pushes and still utilize the water tools (sandbox needs to stay in focus). Maybe there needs to be a push to add more features to the named pipe command parser to have two way communication so the sender may know the current status or sandbox needs more methods to deal with requests such as global water, increment or decrement base plane, etc. Then maybe I should connect my box to the script via serial port and just send serialized command to the script that will send it on to sandbox’s named pipe or maybe even weld the serial port to the named pipe to rid the need of a script. There must be a Linux way to “weld” the pipe to the serial port. Maybe some udev rules that fixes serial port name binding so it wouldn’t change between reboots and other devices being inserted in USB. I’ll have to learn that somehow. Anyway, I started with the simple idea that my box should seamlessly add on to an existing sandbox since it emulates button pushes. Now the source code has to change so there is no simple way to add to an existing sandbox without some “professional” help to the operator of the box 🙂

    I’m thinking about simple wrapper functions to get global water or base plane features so they can be called either by named pipe parser or Vrui tool callback.

    in reply to: How to display numbers with the contours? #111010

    liudr
    Participant
    in reply to: USB Button Solution #111009

    liudr
    Participant

    Added elevation color mapping adjustment with a knob on the box:

    https://youtu.be/-qsQ5rXE8WI

    in reply to: How to display numbers with the contours? #111008

    liudr
    Participant

    So I worked on the electronics and now I have a knob to adjust the color map. Here are a few photos of the electronics and same sand but different color maps.

    in reply to: How to display numbers with the contours? #111007

    liudr
    Participant

    Oliver,

    I really appreciate your help. Your reply got me started. I got the named pipe working after some reading on what a named pipe is. It got me what I wanted but is not easy to integrate into GUI buttons. I wanted to have this feature included in the GUI. It took me a day to peel off the layers of code and finally zeroed in the code that updates the values from the named pipe, find a way to make changes to the height using buttons without running into problems of a struct that was defined internally in sandbox. Now my system will raise and lower the color mapping at the press of 5 and 6. Water simulation seems unaffected by the change of color. That’s what I wanted. You may have too much sand for oceans or too little for all the green land. You just have to adjust color mapping with a knob instead of adding/removing sand or changing a value in a file and rerun the simulation. Pushing buttons beats interacting with Linux for teaching/outreach. I’ll now make the electronics to simulate 5 and 6 using a knob up and down.

    John

Viewing 15 posts - 1 through 15 (of 50 total)