No es un missle lanzador que se ejecuta a través de USB

Controlador para USB Lanzador de Misil en Windows 7

El software para que se puede encontrar en la DreamCheeky sitio web

Lo que quiero hacer es ser capaces de controlar esta máquina a través de mis programas.
Así que estos son los problemas que veo:

  1. Adquirir un Controlador <—
  2. Interfaz de este controlador en mi C# Apps (voy a mirar esto más adelante)

Para la primera parte que es la más importante, he encontrado un par de linux puertos del conductor, pero puedo usar el controlador que viene con el programa?
O puedo tomar el código de linux y construir un controlador en Windows?

La más útil de la fuente que he encontrado es el código de la NZ Mac puerto pero no tengo idea de qué hacer con él.

Cualquier sugerencias y consejos apreciado. Es mi introducción a los controladores.

EDICIÓN Más pensamientos

Me da la sensación de que me puede llamar y recibir USB comandos.
En el código de dgwilson de la NZ mac puerto él tiene este:

//Control of the launcher works on a binary code – see the table below for an explanation
//
//| 16 | 8 | 4 | 2 | 1 |
//|——|—|—|—|—|
//| 0 | 0 | 0 | 0 | 1 | 1 – Up
//| 0 | 0 | 0 | 1 | 0 | 2 – Down
//| 0 | 0 | 0 | 1 | 1 | 3 – nothing
//| 0 | 0 | 1 | 0 | 0 | 4 – Left
//| 0 | 0 | 1 | 0 | 1 | 5 – Up /Left
//| 0 | 0 | 1 | 1 | 0 | 6 – Down /left
//| 0 | 0 | 1 | 1 | 1 | 7 – Slow left
//| 0 | 1 | 0 | 0 | 0 | 8 – Right
//| 0 | 1 | 0 | 0 | 1 | 9 – Up /Right
//| 0 | 1 | 0 | 1 | 0 | 10 – Down /Right
//| 0 | 1 | 0 | 1 | 1 | 11 – Slow Right
//| 0 | 1 | 1 | 0 | 0 | 12 – nothing
//| 0 | 1 | 1 | 0 | 1 | 13 – Slow Up
//| 0 | 1 | 1 | 1 | 0 | 14 – Slow Down
//| 0 | 1 | 1 | 1 | 1 | 15 – Stop
//| 1 | 0 | 0 | 0 | 0 | 16 – Fire
//
//| Fire |RT |LT |DN |UP |
//

¿Eso significa que podría haber un USB de la biblioteca que se acaba de enviar estos comandos y recibir la retroalimentación de los comandos?

La respuesta

Todo ha sido hecho antes y es que sentarse y esperar a rocket.codeplex.com
Incluso las cosas que yo estaba pensando en hacer (WiiMote conexión)!

OriginalEl autor Dann | 2011-01-06

3 Comentarios

  1. 1

    Me acabo de comprar un Dream Cheeky Trueno Lanzamisiles, que parece ser el sucesor del modelo mencionado en la pregunta aquí (y también para el modelo que rocket.codeplex.com fue escrito).

    Pero no pude conseguir rocket.codeplex.com a trabajar con mi modelo de (sí, he utilizado la sobrecarga del constructor que me permite el suministro de la VendorID y DeviceID, y sí, que suministra la correcta Identificadores para mi modelo), así que escribí mi propia biblioteca.

    Aquí está, tal vez ayuda a otras personas:

    MissileSharp

    ¿Funciona en 64 bits? Si es así voy a comprobar a cabo.
    Sí, tengo una máquina de 64 bits con Win7 Home Premium, y que trabaja allí.
    Marcado como respuesta, ya que es más relevante ahora. Lo Siento @Nick

    OriginalEl autor Christian Specht

  2. 2

    Parece que alguien ya ha hecho el trabajo duro por usted – echa un vistazo comentario #8 desde el enlace que has publicado:

    http://dgwilson.wordpress.com/windows-missile-launcher/#comment-2160

    (Hay un windows .dll descargar y una API simple referencia de allí que se puede utilizar en su aplicación).

    Véase también el comentario #11 desde el mismo sitio: rocket.codeplex.com
    La primera (#8) era un enlace muerto para mí, pero la segunda … la culpa es mía por que faltan 🙁

    OriginalEl autor Nick

  3. 1

    «Represalias» patadas en el culo… funciona de maravilla y es super fácil de modificar y recibir…

    https://github.com/codedance/Retaliation

    usted necesita para descargar e instalar un USB de acceso a la biblioteca para el lenguaje Python para que funcione
    http://sourceforge.net/apps/trac/libusb-win32/wiki

    con este programa, instalar el controlador de filtro, esto le permite capturar todo lo que es enviado a través de que el puerto USB, recuerda que uno, porque sólo funcionará si se conecta de nuevo en ese puerto en concreto…

    después de eso, sólo tiene que ejecutar retaliation.py y disfrutar =)

    Hice algunas modificaciones a mi retaliation.py, ya que tengo un viejo modelo de cohete lanzador, no viene con la «secuencia de carga» sin disparar…

    elif command == "prefire":
        send_cmd(FIRE)
        time.sleep(4.5)
        send_cmd(STOP)
    elif command == "firewithprefire":
        send_cmd(FIRE)
        time.sleep(.5)
        send_cmd(STOP)
    

    el segundo comando, se desencadena después de «cargar», de manera insospechada, las víctimas no escuchar la carga de sonido, ya que era «pre-cargado», sólo el clic y el misil volando…

    también, con la antigua versión del lanzador de cohetes, puede enviar valores que son demasiado altos en el comando move y el lanzador de cohetes va a tratar de hacerlo, parece que las versiones más recientes de parada de la base de ir después de algunos spots, una versión anterior también lo hace, pero sólo cuando se alcanza el valor máximo, por lo que el envío de mover(2000000, a la izquierda) será ir todo el camino a la izquierda y luego tratamos de seguir yendo a la izquierda, básicamente romper los engranajes, pero si ya está en el max a la izquierda, se ignorará el comando, así que he modificado el movimiento así:

    def send_move(cmd, duration_ms):
        secs = (duration_ms /1000.0)
        for x in range(0, int(secs)):
            send_cmd(cmd)
            time.sleep(1)
            send_cmd(STOP)
    

    esto puede parece horrible, pero es la única manera de estar seguro de que no va por encima del valor máximo cuando se envía un comando move, especialmente cuando se utiliza el «parque» de comandos, que mueve el launcher en la posición 0,0…

    la esperanza de que esto ayude a alguien =)

    saludos

    OriginalEl autor Dixel

Dejar respuesta

Please enter your comment!
Please enter your name here