Announcement

Collapse
No announcement yet.

Velleman K8055 USB I/O Board Extension plugin

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Velleman K8055 USB I/O Board Extension plugin

    Road Runner Extension Plugin for the Velleman K8055 USB I/O Board.

    UPDATED 04-14-07:
    Current version 2.2.0.0 See version control at the end of this post

    This is the Road Runner Extension plugin I wrote for the Velleman K8055 USB I/O Board. The plugin takes advantage of all the functions the K8055 provides.

    Availability:

    Europe: www.velleman.be
    US: http://www.vellemanusa.com/us/enu/pr...iew/?id=500349
    K8055 is kit version. VM110 is assembled and ready to go version.

    Velleman K8055



    Features of the K8055 / VM110 Board

    • 5 Digital inputs (0=ground, 1 = open). On board test buttons provided
    • 2 16 bit counters on bit 1 and bit 2 of the 5 bit digital input port.
    • 2 Analog inputs with attenuation and amplification option. Internal test +5V provided.
    • 8 Digital open collector output switches (max 50V/100mA). On board led indication.
    • 2 Analog outputs. ( 0 to 5 Volt)
    • 2 PWM open collector outputs (combined with analog outputs)
    • Power supply through USB (approx. 70 mA)



    Plugin Howto

    Download: http://gpsirda.dyndns.org/RRK8055_VER2.2.0.0.zip

    Basically a Road Runner Extension Plugin is adding new labels, buttons, sliders and indicators to the base Road Runner functionality. The new functionality is provided in a DLL file. Using a X,pluginname in a RoadRunner skin RR will load the dll. After that the new labels, buttons, sliders and indicators are available. Even when switching to another screen the objects will still work. It is advisable to load the DLL on the first skin so all the functionality is available on all other screens. The plugin is also hibernation aware. This means that the state of all the outputs (analog, digital and counters) will be restored after the CARPC has resumed from hibernation.

    The plugin itself consist of a single DLL (RRK8055.DLL) that needs to be placed in the <RRPATH> (i.e. “C:\Program Files\Road Runner”). Register the DDL using regsvr32 RRK8055.dll. The DLL will use a configuration file (RRK8055.ini) in that same directory to save the current state when RR is shutdown or goes into hibernation. The same configuration file is used to assign the RR commands to the digital input port or the analog input port per skin (see k8055_menu indicator).

    For for the new labels, sliders and buttons, see documentation in zip file or this pdf

    Sample Skin

    I have provided a K8055 test skin which is including all the functionality and for skinning reference. Place the relays.skin and relay*.jpg in the directory of the skin you are using. Place a button on the screen you are calling the test skin from and use the following button code: "LOAD;relays.skin".


    Version control

    Version 1.1.0
    • Hardware buttons for menu now checked every 0.1 sec which makes the menus more responsive
    • Added input mask for the menu for the 5 digital inputs in case less inputs are used for the menu
    • Changed the way analog in/out works. The labels now return a calculated value and the units. See RRK8055.ini and the picture of the example skin below

    Version 1.2.0
    • Implemented analog menu/ RR command control. To used with 2 wire steering wheel controls where every button will apply a different resistor value on the two wires. To resistor value can be detected on analog port 2 and will be translated to a RR command

    Version 1.3.0
    • Board address is now configurable in RRK8055.ini. Values can be 0, 1, 2 or 3
    [SaveData]
    K8055Address=0

    Version 1.4.0
    • Implementation of the two hardware counters. Added labels and counter reset buttons.

    Version 2.0.0
    • Re-written menu functionality; added SWITCH, LONG type menu buttons
    • Added button Demo Mode (k8055_testmode)
    • Added button k8055_do_set_all : sets all digital output bits
    • Added button k8055_do_switch_all : changes state of all digital output bits
    • Added button k8055_do_reset_all : resets all digital output bits

    Version 2.0.1
    • Fixed? the plugin not working on all installs (read ini problem)

    Version 2.1.0
    • Fixed the plugin not working with different buttons per different menu

    Version 2.1.0.3
    • Analog Menu now accepts 20 buttons
    • Now hidden RR screens (DVD, VIDEO) also processes menu buttons

    Version 2.1.0.7

    • If board is not connected the plugin will now wait a number of seconds before a re-initialization is done. The InitRetrySeconds item in the [SaveData] section defines the number of seconds. If no value is defined or the value is 0 a default of 60 seconds is used. This fixes the problem of the CPU using up to 100% when using the plugin and the board is not connected.
    • k8055_connected indicator added. This indicator displays the connection state of the board. A click on the indicator will reinitialize the board if it was not connected.

    Version 2.2.0.0

    • When a steering wheel control has resistor value even when all buttons are in a released state, the analog in will see a voltage > 0. The ini setting [MENU_ANALOG]
    AnalogButtonPressedValue=xx
    will only detect a button press when the analog in value is more the xx.
    • Added ini setting
    [MENU]
    Menu_Timer_Interval=xx
    Where xx are milliseconds between button press checks for digital and analog menu. Default is 100 milliseconds.
    • Added ini setting
    [MENU]
    Menu_Button_Long_Intervals=xx
    where xx is the number of button press checks before a button press is considered to be a long button press. Default value is 20. The time is for a long button press to be detected is Menu_Timer_Interval * Menu_Button_Long_Intervals (By default 100 msec * 20 is 2 seconds)
    • Sending commands to Road Runner now uses the SDK interface which is more reliable than the ComSend method.
    • Hibernation bugs have been fixed.
    • Plugin will now get the ini path for the plugin from Road Runner. RRK8055.ini must now exist in $RRPATH$
    • Several other improvements and fixes based on working experience in the car.
    My car: 2009 MAZDA CX-9 3.7L V6 runnin on LPG (Liquid Petrol Gas)
    Hardware: None at the moment
    Software: None at the moment
    See: Velleman K8055 Plugin for Road Runner

    Progress: [XXXXXXXXXX] 0 % DONE

  • #2
    Nice work!

    Be sure to have the latest BETA in order to run this plugin:
    http://www.rrdownloads.net/BETA/RoadRunner.exe
    Ride Runner RR's Myspace

    "Being happy is not about having what you want, it's about wanting what you have."
    "The best things in life are always free - but that doesn't mean money can't buy you good things."

    Comment


    • #3
      board address?

      Hi,

      well done for this plugin.

      I have been using the k8055 for sometime and this makes it much easier to impliment.

      One question, have you made any reference to the board address? can you have something in the RK8055.ini such as K8055Add=0,1,2 or 3

      which setting do you use as default?

      Paul

      Comment


      • #4
        Originally posted by Freakers View Post
        Hi,

        well done for this plugin.

        I have been using the k8055 for sometime and this makes it much easier to impliment.

        One question, have you made any reference to the board address? can you have something in the RK8055.ini such as K8055Add=0,1,2 or 3

        which setting do you use as default?

        Paul
        It's currently using 0 (both jumpers set)

        It's not difficult to add a setting for this. I'll work on it.
        My car: 2009 MAZDA CX-9 3.7L V6 runnin on LPG (Liquid Petrol Gas)
        Hardware: None at the moment
        Software: None at the moment
        See: Velleman K8055 Plugin for Road Runner

        Progress: [XXXXXXXXXX] 0 % DONE

        Comment


        • #5
          Originally posted by 307SW_NLD View Post
          It's currently using 0 (both jumpers set)

          It's not difficult to add a setting for this. I'll work on it.
          Done: see post #1
          My car: 2009 MAZDA CX-9 3.7L V6 runnin on LPG (Liquid Petrol Gas)
          Hardware: None at the moment
          Software: None at the moment
          See: Velleman K8055 Plugin for Road Runner

          Progress: [XXXXXXXXXX] 0 % DONE

          Comment


          • #6
            Update plugin. Hardware counters are now implemented. See post #1
            My car: 2009 MAZDA CX-9 3.7L V6 runnin on LPG (Liquid Petrol Gas)
            Hardware: None at the moment
            Software: None at the moment
            See: Velleman K8055 Plugin for Road Runner

            Progress: [XXXXXXXXXX] 0 % DONE

            Comment


            • #7
              Hi, I'm trying out the K8055 plugin but having problems. The demo program that comes with the card works fine but can't get it to work with RR. I'm using the latest release of RR. The RR debug log say 'Error loading plugin: RRK8055 (ActiveX component can't create object)' any idea what is wrong. Thanks.

              Comment


              • #8
                Originally posted by p1cass0 View Post
                Hi, I'm trying out the K8055 plugin but having problems. The demo program that comes with the card works fine but can't get it to work with RR. I'm using the latest release of RR. The RR debug log say 'Error loading plugin: RRK8055 (ActiveX component can't create object)' any idea what is wrong. Thanks.
                Try in command prompt: regsvr32 rrk8055.dll from your road runner directory. Let me know if it works for you. I'll udate the doc if it does.
                My car: 2009 MAZDA CX-9 3.7L V6 runnin on LPG (Liquid Petrol Gas)
                Hardware: None at the moment
                Software: None at the moment
                See: Velleman K8055 Plugin for Road Runner

                Progress: [XXXXXXXXXX] 0 % DONE

                Comment


                • #9
                  Originally posted by 307SW_NLD View Post

                  Try in command prompt: regsvr32 rrk8055.dll from your road runner directory. Let me know if it works for you. I'll udate the doc if it does.
                  Thanks, That did the trick. Workibg now.

                  Comment


                  • #10
                    Originally posted by p1cass0 View Post
                    Thanks, That did the trick. Workibg now.
                    Ok, fixed it in the docs. Thanks.
                    My car: 2009 MAZDA CX-9 3.7L V6 runnin on LPG (Liquid Petrol Gas)
                    Hardware: None at the moment
                    Software: None at the moment
                    See: Velleman K8055 Plugin for Road Runner

                    Progress: [XXXXXXXXXX] 0 % DONE

                    Comment


                    • #11
                      Nice work.

                      Haven't tested the plugin yet but seeing you have allready made the 2 wire option in (steering wheel) working I now have most off my setup in order.

                      Suggestion:

                      Wouldn't it be quite easy to use one or both the analogue port as temperature sensors. The LM35 would be a nice choice but if opamp is needed I don't know.

                      Found this article in Elektor.


                      Opamps the 0-1V range to go to 0 - 5V.
                      2000 Ford Focus - Worklog

                      Comment


                      • #12
                        Tried testing the plugin but ended up with the following 2 errors.
                        Click image for larger version

Name:	error1.JPG
Views:	1
Size:	65.1 KB
ID:	2260085
                        Click image for larger version

Name:	error2.JPG
Views:	1
Size:	61.0 KB
ID:	2260086

                        The .dll is registered with regserv and the skin commands added.
                        2000 Ford Focus - Worklog

                        Comment


                        • #13
                          Fixed!

                          Just moved the k8055d.dll to the roadrunner folder.
                          2000 Ford Focus - Worklog

                          Comment


                          • #14
                            Hello, just fixed my carpc and started experementing with K8055 and this plugin..

                            I was wondering, can this plugin execute a command on button press and another when this button is depressed?

                            What I'm thinking to do is wire my 12v reverse through a relay to a digital input of the board. When it is triggered I'll have a MUTE command but when it is released is there a way to issue a MUTE command again?

                            The same goes for the car's doors.. Mute when open, unmute when closed...

                            Comment


                            • #15
                              Excellent plug-in, i actually bought the K8055 board after seeing this.

                              Everything on the skin loads OK etc, but the skin buttons don't seem to activate the board, well the LEDs on the board don't light when the skin button is pressed.

                              I have the rrk8055.dll and .ini in the RR directory with the k8055d.dll in the system32 directory with both DLLs registered.

                              I'm running version 08/10/06 (latest) of RR, is this the right version or do i have to use the beta version?

                              Any ideas?

                              Many thanks.

                              Steve
                              System - Epia SP13000 for Main PC, Holux GR-213 USB GPS Receiver SiRF Star III, 2.4Ghz Uplink with VNC and Custom designed USB Intelligent SDC (In DEV). All fed to a Sony CDX-F7500 Headunit via USB. www.wrx-carpc.co.uk

                              Comment

                              Working...
                              X