- Download Velleman Projects Port Devices Driver Hub
- Download Velleman Projects Port Devices Driver License
- Download Velleman Projects Port Devices Driver Windows 7
- Download Velleman Projects Port Devices Driver
Download the latest drivers, software, firmware, and diagnostics for your HP products from the official HP Support website. NodeMCU is an open-source firmware and development kit that helps you to prototype or build IoT products. It is based on the lowest cost WI-FI MCU ESP8266, ESP8266 is about $2 and once it comes as NodeMCU easy to prototype development kit you can purchase for about $4 something you can connect to your USB and start playing with it.
- SYNOPSIS
Device::Velleman::K8055::Fuse - Communication with the Velleman K8055 USB experiment board using Fuse and K8055fs
Version 0.96
Device::Velleman::K8055::Fuse provides an object-oriented API to the k8055fs Fuse-based interface to the Velleman K8055 USB Experimental Interface Board.
Using the module, it is possible to set two 5v analog output ports, read from two 5v analog input boards, read from a 5-bit digital input stream, write to an 8-bit digital output stream, and set two digital counters with configurable gate times.
In order to work with this module, the k8055fs utility must be installed. This utility relies on Fuse, which must also be installed.
new()
The constructor. Buils the object.
Example:
New object with k8055 card initialisation
New object using initialized k8055 card
Inputs
(optional) initDevice: hash reference containing the inputs expected by InitialiseDevice. Refer to method documentation below for input specifications. If initDevice exists, then method InitialseDevice is called inside the constructor.
debug = 0 / 1 : Debug flag for outputing debugging information
pathToDevice : the name of the path where the k8055fs commands are mounted.
Returns the object on success
testHarness = 0/1 : Use a test harness rather than the card itself. This allows debugging of the applicaiton logic without relying on the hardware itself being present.
When the test harness is activated, option test => 1 is automatically passed to the InitialiseDevice method.
Furthermore, any Set functionality returns the set value or array of the value, as relevant. Any get function returns -1.
ReadAnalogChannel();
Reads the value from the analog channel indicated by (1 or 2). The input voltage of the selected 8-bit Analogue to Digital converter channel is converted to a value which lies between 0 and 255.
Returns the numeric value.
ReadAllAnalog();
ReadAllAnalog reads the values from the two analog ports into $data1 and $data2.
Inputs: None
Outputs: array of two numeric values
OutputAnalogChannel();
This outputs $value to the analog channel indicated by $channel.
The indicated 8-bit Digital to Analogue Converter channel is altered according to the new value. This means that the value corresponds to a specific voltage. The value 0 corresponds to a minimum output voltage (0 Volt) and the value 255 corresponds to a maximum output voltage (+5V). A value of $value lying in between these extremes can be translated by the following formula : $value / 255 * 5V.
See also SetAnalogChannel() and SetAllAnalog()
OutputAllAnalog();
This outputs $value1 to the first analog channel, and $value2 to the second analog channel. If only one argument is passed, then both channels are given the same value.
See also: SetAllAnalog()
ClearAnalogChannel();
This clears the analog channel indicated by $channel. The selected DA-channel is set to minimum output voltage (0 Volt).
Input: channel number
Output: value between 0 (min) and 255 (max)
See also OutputAnalogChannel(), ClearAllAnalog()
ClearAllAnalog();
The two DA-channels are set to the minimum output voltage (0 volt).
Returns 0 on success. returns undef if either of the analog channels failed.
SetAnalogChannel();
Sets the selected 8-bit Digital output, which in turns sets the DAC voltage. Returns the set value (255) corresponding to this voltage.
SetAllAnalog();
The two DA-channels are set to the maximum output voltage. Returns 255 on success. returns undef if either of the analog channels failed.
WriteAllDigital();
The channels of the digital output port are updated with the status of the corresponding bits in the $value parameter. A high (1) level means that the microcontroller IC1 output is set, and a low (0) level means that the output is cleared.
$value is a decimal value between 0 and 255 that is sent to the output port (8 channels).
Returns the value on success, returns undef on error.
ClearDigitalChannel();
This clears the digital output channel $channel, which can have a value between 1 and 8 that corresponds to the output channel that is to be cleared.
This is the opposite of SetDigitalChannel.
Returns 0 on success, undef on error.
ClearAllDigital();
This clears (sets to 0) all digital output channels.
Returns 0 on success, undef on error.
SetDigitalChannel();
This sets the digital output channel $channel, which can have a value between 1 and 8 that corresponds to the output channel that is to be cleared.
This is the opposite of ClearDigitalChannel.
AssignDigitalChannel();
This assigns a value todigital channel $channel to the assigned value.
SetAllDigital();
This sets all digital output channels to 1 (true).
sets all digital output channels to 1, giving '1111111'.
ReadAllDigital()
This reads all 5 digital ports at once. The 5 least significant bits correspond to the status of the input channels. A high (1) means that the channel is set, a low (0) means that the channel is cleared. Returns the decimal value of the the 8-channel interface card (0-255) unless flag 'bin' is set.
If input contains one string with content 'bin' , then returns an array of binary characters (0/1).
Returns undef on error.
ReadDigitalChannel();
The status of the selected input $channel is read.
$channel can have a value between 1 and 8 which corresponds to the input channel whose status is to be read.
The return value will be true (1) if the channel has been set, false (0) otherwise
returns undef on error.
Note: on the K8055, the addresses of digital inputs 1-5 are not the equivalent binary values.
Refer to the hash $dev->{I} giving the mappings between the card digital input number I and equivalent decimal and binary value, and bit number. $dev->{I} is defined in the constructor.
ReadCounter();
The function returns the status of the selected 16 bit pulse counter. The counter number 1 counts the pulses fed to the input I1 and the counter number 2 counts the pulses fed to the input I2.
returns an 16 bit count on success.
returns undef on error.
ResetCounter();
This resets the selected pulse counter.
returns undef on error.
SetCounterDebounceTime();
The counter inputs are debounced in the software to prevent false triggering when mechanical switches or relay inputs are used. The debounce time is equal for both falling and rising edges. The default debounce time is 2ms. This means the counter input must be stable for at least 2ms before it is recognised, giving the maximum count rate of about 200 counts per second. If the debounce time is set to 0, then the maximum counting rate is about 2000 counts per second.
The $deboucetime value corresponds to the debounce time in milliseconds (ms) to be set for the pulse counter. Debounce time value may vary between 0 and 5000.
returns the set time in milliseconds on success.
returns undef on error.
get()
uses IO::File to retrieve data from the FUSE files. Refer to the k8055fs readme for details.
This is a low-level call that is not particualrly intended for direct access from the API.
The path to the command is defined by hash key pathToDevice in the constructor.
Returns $value on success and undef on error.
set($file,$value)
uses IO::File to send io to the FUSE files. Refer to the k8055fs readme for details.
This is a low-level call that is not particualrly intended for direct access from the API. Using the set function could desynchronize the internal representation for the binary array held in array
The path to the command is defined by hash key pathToDevice in the constructor.
Returns $value on success and undef on error.
dec2bin($dec)
convert a decimal to a string representing a bin
The binary string is represented as a big-endian. In big-endian encoding, digits increase as the string progresses to the left:
bin2dec($bin)
convert a string representing a binary number to a decimal number.
Refer to dec2bin for information on the binary format in use.
InitDevice (%args)
Initialises the k8055 USB device by mounting the k8055 file system.
usage: $dev->InitialseDevice({-U=>1, -b=>2, pathToDevice=>'/tmp/8055'})
Input arguments
-b board number. (2-4) If skipped, default board (1) number is taken.
-U 1 0r 0 turn on USB debugging if true.
pathToDevice: Desired mount point of the k8055fs application. This directory needs to be accessible by the user.
fuseOptions: additional options to pass to FUSE.
test: do not run the k8055fs initialiaation. Print the command to STDOUT and return success. This is for debugging support.
See also new().
Ronan Oger, <ronan@cpan.org>
Special thanks to Jouke Visser, author of Device::Velleman::K8055 for writing the original win32-based module. I extensively copied his documentation and derived the method names from the names used by Jouke.
Likely to be many, please use http://rt.cpan.org/ for reporting bugs. The counter functionality is poorly tested and I suspect it has bugs.
For more information on this board, visit http://www.velleman.be.
For more information on the K0855fs fuse implementation of K0855, visit https://launchpad.net/k8055fs
For more information on the Fuse driver, visit the FUSE project on sourceforge: http://fuse.sourceforge.net
For Win32 applications, see Jouke Visser's Device::Velleman::K8055 implementation.
Copyright 2008 Ronan Oger, All Rights Reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
To install Device::Velleman::K8055::Fuse, copy and paste the appropriate command in to your terminal.
For more information on module installation, please visit the detailed CPAN module installation guide.
What can you do with RapidDriver software?
Download Velleman Projects Port Devices Driver Hub
- Insert your plug-and-play device and work with it through GUI or with our ready-made examples, as shown on the screenshot;
- Create your own applications based on our classes and PnP drivers;
- Distribute these applications without having to pay royalties;
- Test and debug your PCI, USB, ISA and LPT hardware with a handy built-in debugger;
- Getting started is easy - just download RapidDriver Free 30-Day Trial and look below for our Quick start guides with appropriate screenshots.
RapidDriver Overview
RapidDriver is an all-in-one solution providing hardware device support on all software levels under different operating systems. If you need to manage various devices under a wide range of operating systems then RapidDriver is for you. RapidDriver gives you immediate access to your hardware device by eliminating the need to understand Windows kernel organization and write sophisticated, error-prone, kernel mode code.
What's new in 2.0 version?
- The user interface was completely redesigned to be clean, modern, and visually appealing;
- Now RapidDriver manipulates with the 'Devices' instead of 'Projects';
- Serial port support was added;
- The macro support was added;
- The ability to run examples directly from the GUI was added;
- The interrupt handling technique was improved;
- Many small bugs were fixed.
Quick Start (with screenshots):
Key features of RapidDriver
RapidDriver auto-detects all hardware devices attached to the system and binds a self-configurable Plug-and-Play WDM device driver to a selected device, so that you can start working with it immediately. Using RapidDriver, you are able to do work with your PCI, USB, ISA, or parallel port device under Windows 2000, XP and 2003 Server operating systems.
RapidDriver was created to help programmers who are not DDK experts support newly developed hardware devices. The toolkit provides advanced support to a wide range of ISA, PCI, USB, and Parallel Port devices under Windows 2000, XP and 2003. Three editions of the RapidDriver toolkit are available:
Download Velleman Projects Port Devices Driver License
- RapidDriver Explorer (for hardware developers)
- RapidDriver Developer (for software developers)
Both editions include the additional debugging features of the
integrated RapidDebugger.
You can freely download RapidDriver demo.
For any suggestions, questions and bug reports please contact us.RapidDriver Explorer
RapidDriver Explorer is an intelligent tool for PC hardware analysis and debugging. RapidDriver Explorer allows you to start working with your hardware device with just a few clicks of the mouse. No other steps are necessary - everything has been done already for you!
Simply install your new hardware, create a new RapidDriver project, and then select your device from the list of PnP devices auto-detected by RapidDriver. RapidDriver extracts all required hardware resource information directly from the device, leaving you free to immediately begin developing and testing your device specifics.
With PCI, ISA and LPT devices, you can read/write hardware ports and memory-mapped registers, and listen for interrupts. With USB devices, you can issue USB-specific requests, perform read/write operations on 'bulk' or 'interrupt' pipes, and more. RapidDriver even allows you to describe and test non-PnP ISA or PC-104 devices.
RapidDriver Explorer includes RapidDebugger - a simple and convenient built-in hardware debugger that assists you in working directly with your device. RapidDebugger allows you to create programs via a simple scripting language that supports C, Pascal and Basic syntax. Many example scripts are provided to show you how to call typical procedures and functions for various kind of devices. RapidDebugger also includes a command line debugger which allows you to control your device in real-time (read and write hardware ports, work with memory-mapped registers, PCI and USB devices and more).
RapidDriver Developer
The Developer Edition of RapidDriver includes all the features of the Explorer, and additionally allows you to create and distribute your own applications with integrated ISA/PCI/USB/LPT drivers to control your hardware. This means you can manage your hardware device from your own application without any kernel mode programming whatsoever; simply start with one of the many examples included with RapidDriver, and gain immediate direct control over your hardware device.
RapidDriver Developer supports this programming languages:
Download Velleman Projects Port Devices Driver Windows 7
- Microsoft Visual C/C++
- Borland Delphi (versions 2-7)
- Borland C++ Builder (versions 1, 3 - 6)
- Microsoft Visual Basic 6.0
- MS VB.Net support added
- MS VC# support added
- and other programming systems that access functions in DLL's
Support for USB interfacing:
- access USB device descriptors
- thread safe access to USB pipes
- support for USB Interrupt and Bulk pipes
- support USB devices with multiple interfaces
- support multiple USB devices simultaneously
- access to any I/O ports (8-, 16- and 32-bit), including reading/writing data arrays
- obtaining pointers to access specified physical memory addresses
Support for PCI interfacing:
Download Velleman Projects Port Devices Driver
- access to PCI device configuration space, including reading/writing separate registers
- working with the PCI base address registers (BARs)
- access to any I/O ports (8-, 16- and 32-bit), including reading/writing data arrays
- obtaining pointers to access specified physical memory addresses
Support for Parallel Port (LPT) interfacing:
- access to all Parallel Port info - base and ECP addresses and ranges, interrupt features
- access to Parallel Port pins
RapidDriver SourceBuilder
We have decided to discontinue the Source Builder Edition of RapidDriver in
favor of the option to purchase the drivers and DLL source code. The source code can be directly edited and compiled with MS Visual C/C++ or with the DDK 'build' utility.
Prices are available here.