Page 1 of 5 12345 LastLast
Results 1 to 10 of 42

Thread: Fusion Control Centre MDX & Configurator -- Major Update 22/12/2008

  1. #1
    Fusion Brain Creator 2k1Toaster's Avatar
    Join Date
    Mar 2006
    Location
    Colorado, but Canadian!
    Posts
    10,052

    Fusion Control Centre MDX & Configurator -- Major Update 22/12/2008

    MDX Version Number: 5.0.0.0
    Configurator Version Number: 1.0.0.145

    The biggest change in this update is that we are no longer using the LibUSB drivers, we are using the Microsoft WinUSB drivers again now that they have matured more.

    This means that in order to use this new update, you will need to first completely uninstall the old drivers. To do that, go to your Device Manager, right click the Fusion Brain, and uninstall. Restart your computer (yes required, dont skip). If your Fusion Brain is automatically detected and installed, that is a bad thing. It means the files are still there. So repeat uninstalling the drivers again. Restart. Again if it automatically installs, you need to keep doing this. Do this until it says that it cannot find any drivers for the Fusion Brain.

    Then and ONLY then, point Windows to the Drivers folder inside the default installation folder. There are 2 drivers in there, one for version 3 and one for version 4. Windows will automatically decide which to use based on what you have connected. If you have a version 3 and a version 4, then you will need to install drivers 2 times since they are different drivers.

    The drivers are large for drivers (what a surprise since they are provided by Microsoft!), so they will take some time to install. A full minute on some machines is normal, and on older slower machines do not be surprised if it takes up to 10 minutes. You will only need to do this one time.

    When all is said and done, you will have something similar to the following:



    The reason we are switching to this driver is for better stability. If you had problems connected MDX every other time, or outputs not turning off when closing the program, or lockups, or anything like that, this new driver should fix all that.

    On our end, we have re-written the USB communication section of both MDX and the Configurator. If you have been interfacing to the Fusion Brain via the now defunked "FusionUSB.dll", you should update your code to now use "FusionBrain_WinUSB.dll". We do not suggest leaving your code alone, it may cause problems in the future.

    Also the "FusionUSB.dll" is 2 driver revisions old, and there were reasons as to why we discontinued use of it. If you continue to use it, we are not responsible for what happens, it has known bugs and stability problems. So please switch over to the new stable "FusionBrain_WinUSB.dll".

    As with the previous version, we no longer require a hardware id in the software. The software will search out the first Fusion Brain it finds of the specified version number to meet the criteria you specify in the configuration file. If you have multiple Fusion Brains, the order should not change as long as you dont change your USB ports.

    Now that version 4 is out as well, all configuration files must be updated. Every Fusion Brain instance must have a version="#" where "#" is either "3" for version 3 or "4" for version 4. If you do not update your configuration, MDX will now assume they are version 4. The byte stream used to communicate to the actual Fusion Brain is very different in version 4 than in version 3. So if you fail to update your configuration file, things will be unpredictable. Some things that signal this include only every other output somewhat working, and none of the analogue inputs will work. So needless to say, update your configuration file!

    Both MDX and the Configurator now support version 4. So you can use the Configurator to setup the new configuration file. Open your file in the configurator. It will assume they are version 4. Double click the brain isntances on the left graphical pane. Select each of your Brain instances and double click. It will open a window to edit the brain. Replace version 4 with version 3 if that is what you are using. Leave it alone if using version 4.

    As always, MDX requires .NET 3.5 and DirectX 9.0c. To keep installer size to a minimum, these are not included in the initial download. If you do not have these, the installer will try to download them direct from Microsoft's servers. If it fails, your program will not run, but the installation will complete. So manually go to Microsoft's download section and download the .NET 3.5 and DirectX 9.0c redistributable.

    Please report all bugs you encounter either here on mp3car.com or email us at FusionControlCentre@gmail.com

    Links are active on the site, so good luck and have fun!

    -- Nick
    Fusion Control Centre
    Fusion Brain Version 6 Released!
    1.9in x 2.9in -- 47mm x 73mm
    30 Digital Outputs -- Directly drive a relay
    15 Analogue Inputs -- Read sensors like temperature, light, distance, acceleration, and more
    Buy now in the MP3Car.com Store

  2. #2
    Constant Bitrate mx270a's Avatar
    Join Date
    Aug 2003
    Location
    Iowa
    Posts
    167
    The driver uninstall/reinstall went fine on my box.

    I've been using FusionUSB.dll, but I'm looking at updating the code to support the new FusionBrain_WinUSB.dll. I found the dll in the MDX install, and I was able to add it as a reference in VB2008. I see the structure is quite different. What do I need to do to connect, send/receive, and disconnect?

  3. #3
    Fusion Brain Creator 2k1Toaster's Avatar
    Join Date
    Mar 2006
    Location
    Colorado, but Canadian!
    Posts
    10,052
    Here is my new USB code: http://www.fusioncontrolcentre.com/M...cationClass.cs

    This is what you call to connect to a device.

    Code:
    public static Boolean FindMyDevice(int Fusion_Index, int Fusion_Version) {...}
    Fusion_Index is the n-th device you want to connect to. First brain, it is 0. Second brain it is 1, third is 2, and so on.
    Fusion_Version is either 3 for version 3 or 4 for version 4

    If it connects ok, it returns true. Otherwise it returns false.


    To send a byte array to a device use:

    Code:
    public static bool SendAndReceiveViaInterruptTransfers(ref byte[] dataBuffer, int Fusion_Index, int Fusion_Version) {...}
    dataBuffer is where the data goes. The byte[] you pass in goes to the Fusion Brain. What you get back from the Fusion Brain goes back in the same location.
    Fusion_Index is the same as the index used to find the device.
    Fusion_Version is the version of the brain to send to. 3 for version 3 and 4 for version 4




    To dispose of all brains, call this:

    Code:
    public static bool Zombie() {...}
    It disposes all FusionUSBDevice Instances currently handled by the dll



    To dispose of a single device, then call the device's method

    Code:
            public class FusionUSBDevice
            {
                public bool Internal_Zombie() {...}
            }
    This will dispose of only that device.



    -----------------------------


    That is pretty much it. Much more simple.
    Fusion Brain Version 6 Released!
    1.9in x 2.9in -- 47mm x 73mm
    30 Digital Outputs -- Directly drive a relay
    15 Analogue Inputs -- Read sensors like temperature, light, distance, acceleration, and more
    Buy now in the MP3Car.com Store

  4. #4
    Fusion Brain Creator 2k1Toaster's Avatar
    Join Date
    Mar 2006
    Location
    Colorado, but Canadian!
    Posts
    10,052
    Some key things to note is that the dll takes care of all the usb handles and everything. You just give an integer index and the dll takes care of everything else. Much less work.
    Fusion Brain Version 6 Released!
    1.9in x 2.9in -- 47mm x 73mm
    30 Digital Outputs -- Directly drive a relay
    15 Analogue Inputs -- Read sensors like temperature, light, distance, acceleration, and more
    Buy now in the MP3Car.com Store

  5. #5
    I see dead kittens Quattro's Avatar
    Join Date
    Dec 2003
    Location
    New York
    Posts
    2,922
    you spelled center wrong.
    Installed
    Asus A7N8X-VM - AMD Mobile Athlon 2400
    512 Ram - 60GB HD - Opus 150w
    Lilliput 7" - Rikaline 6010
    [00000000000001100010-] 98% Completed

    Check Out My Install!!!

  6. #6
    Fusion Brain Creator 2k1Toaster's Avatar
    Join Date
    Mar 2006
    Location
    Colorado, but Canadian!
    Posts
    10,052
    Quote Originally Posted by Quattro View Post
    you spelled center wrong.
    Just depends on who taught you English.
    Fusion Brain Version 6 Released!
    1.9in x 2.9in -- 47mm x 73mm
    30 Digital Outputs -- Directly drive a relay
    15 Analogue Inputs -- Read sensors like temperature, light, distance, acceleration, and more
    Buy now in the MP3Car.com Store

  7. #7
    Constant Bitrate mx270a's Avatar
    Join Date
    Aug 2003
    Location
    Iowa
    Posts
    167
    Wow, that was easy. I updated the FBDemo program to support the new DLL. Currently it only works with the version 3 FBs. When the v4 gets here, I'll look into adding support for it into the FBDemo program.

    -Lance

  8. #8
    Constant Bitrate mx270a's Avatar
    Join Date
    Aug 2003
    Location
    Iowa
    Posts
    167
    What is the byte format of the data going to and from the v4 FBs?

  9. #9
    Fusion Brain Creator 2k1Toaster's Avatar
    Join Date
    Mar 2006
    Location
    Colorado, but Canadian!
    Posts
    10,052
    Code:
    *******************************
    * FUSION BRAIN V4 BYTE STREAM *
    *                             *
    * Deterministic Difference:   *
    *     PID Suffix: E           *
    *                             *
    *******************************
    
    
    **** ID CODE ****
    Version 3a: VID_04D8&PID_000A
    Version 3b: VID_04D8&PID_000B
    Version 3c: VID_04D8&PID_000C
    Version 3d: VID_04D8&PID_000D
    Version 4:  VID_04D8&PID_000E
    
    
    **** STREAM ****
    
    Bytes
      [00-31] Digital Outputs 00 through 15
      [32-57] Analogue Inputs 00 through 12
      [57-59] Not Used Now, Maybe in future
      [60]    Number of Streams to Receive
      [61]    Initialize/Watchdog byte
      [62]    Hardware Version
      [63]    Firmware Version
    
    Bits 0bMxxxxxxL | M = MSB and L = LSB
      Digital Outputs
        2 bytes per output
        [PPPPPPPS][TTTTTTMM]
          P = Value of PWM
            ([7bit Value + 1]/128)% duty cycle
            Details of full period to be determined later
          S = 1bit state
            0 = Off
            1 = on
          T = 6bits of Timer to shutoff --> [Evaluated Units in Seconds]
            If 6'bTTTTTT is 0, then shut off immediately on disconnect
            If 6'bTTTTTT is between 1 and 10 inclusive, then wait [6'bTTTTTT] seconds after disconnect
            If 6'bTTTTTT is 11, then wait 30 seconds after disconnect
            If 6'bTTTTTT is 12, then wait 60 seconds after disconnect
            If 6'bTTTTTT is 13, then wait 90 seconds after disconnect
            If 6'bTTTTTT is greater than 14, then wait ([6'bTTTTTT] * 10) seconds after disconnect
          M = 2bit Output Mode
            2'b00: Normal Full-Off or Full-On Operation Mode
            2'b01: Pulse Width Modulation Operation Mode
            2'b10: Yet to be determined
            2'b11: Yet to be determined
      Analogue Inputs
        2 bytes per input
        [index][index + 1] = [000000Mx][xxxxxxxL] | M = MSB and L = LSB
      Number of Streams to Receive
        1 byte
        [NNNNNNNN] | N = Number of streams to receive
          If [8'bNNNNNNNN] is 0 (default) then receive 1 byte and send 1 byte
          If [8'bNNNNNNNN] is greater than 0 then receive 1 byte and send 1 byte [8'bNNNNNNNN] times
            Each of these "extra" byte streams received may not coorespond with the details of this byte stream outline
            Each of the "extra" byte streams sent back to the PC may not coorespond with the details of this byte stream
      Initialize/Watchdog Byte
        1 byte
        [000000IF] | F = Flipping Bit and I = Initialize Bit
          F = Instead of flipping a bit in every digital output, flip 1 bit constantly
          I = Needs I high to turn anything on, just like default behaviour of byte[61] now
      Hardware Version
        [MMMMLLLL]
          M = Major Version. Currently Version 4, so MMMM = 0100
          L = Minor Version. Currently Version 0, so LLLL = 0000 
      Firmware Version
        1 byte
        [????????]
    Fusion Brain Version 6 Released!
    1.9in x 2.9in -- 47mm x 73mm
    30 Digital Outputs -- Directly drive a relay
    15 Analogue Inputs -- Read sensors like temperature, light, distance, acceleration, and more
    Buy now in the MP3Car.com Store

  10. #10
    Constant Bitrate
    Join Date
    Jul 2002
    Posts
    131
    Well, my attempt at updating has been a giant leap backward.

    I think I got the drivers loaded correctly since my v3 Brain doesn't show up under libUSB anymore. Its listed in Device Manager as The Fusion Brain Version 3 under Fusion Control Center.

    When I run the Configurator, the one Brain I have connected shows up in the config file as a v3 which it is. When I go through the process of identifying it using the blinking LEDs, it works until I try to exit that at which point the configurator dies and asks if I want to send an error report.

    When I start up FCC Uber MDX, it dies right away and asks if I want to send an error report.

    I've completely reinstalled the sw from the FCC site (except for the updater because the installer complains it can't replace it and I don't seem to be able to get rid of it completely either).

    Any suggestions?

Page 1 of 5 12345 LastLast

Similar Threads

  1. *NEW* USB Input/Output Board -- Fusion Brain
    By 2k1Toaster in forum Fusion Brain
    Replies: 1123
    Last Post: 02-22-2010, 02:33 AM
  2. Fusion Control Center skin
    By sxtnitehawk in forum Software & Software Development
    Replies: 1
    Last Post: 10-14-2007, 07:39 PM
  3. Need wiring help for 2005 Grand Prix.
    By derekmac in forum Car Audio
    Replies: 33
    Last Post: 09-21-2007, 09:42 PM
  4. Remote Control Fusion Brain.
    By alexgray104 in forum Fusion Brain
    Replies: 9
    Last Post: 09-06-2007, 03:16 AM
  5. Replies: 2
    Last Post: 07-24-2007, 09:11 AM

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •