Nice work!
Be sure to have the latest BETA in order to run this plugin:
http://www.rrdownloads.net/BETA/RoadRunner.exe
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.
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."
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
My car: 2006 Hyundai Santa Fe 2.2 CRDI AUT
Hardware: None at the moment
Software: None at the moment
See: Velleman K8055 Plugin for Road Runner
Progress: [XXXXXXXXXX] 0 % DONE
My car: 2006 Hyundai Santa Fe 2.2 CRDI AUT
Hardware: None at the moment
Software: None at the moment
See: Velleman K8055 Plugin for Road Runner
Progress: [XXXXXXXXXX] 0 % DONE
Update plugin. Hardware counters are now implemented. See post #1
My car: 2006 Hyundai Santa Fe 2.2 CRDI AUT
Hardware: None at the moment
Software: None at the moment
See: Velleman K8055 Plugin for Road Runner
Progress: [XXXXXXXXXX] 0 % DONE
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.
My car: 2006 Hyundai Santa Fe 2.2 CRDI AUT
Hardware: None at the moment
Software: None at the moment
See: Velleman K8055 Plugin for Road Runner
Progress: [XXXXXXXXXX] 0 % DONE
My car: 2006 Hyundai Santa Fe 2.2 CRDI AUT
Hardware: None at the moment
Software: None at the moment
See: Velleman K8055 Plugin for Road Runner
Progress: [XXXXXXXXXX] 0 % DONE
Bookmarks