Home Contents | # Introduction | V4kf | Core4 Lua Event System

## OVERVIEW

The V4KF module provides support for several card readers:

Leadus V4KF
  Insertion reader
Leadus V2BF
  Motorized reader (discontinued)
Leadus V2XF
  Motorized reader/writer (discontinued)
Sankyo ICT3K7-3R6940
  Motorized reader

This is a high level interface to the reader features. Allocate a new instance using v4kf.new().

General reader state handling is done using v4kf:reset(), v4kf:init(), v4kf:close(), v4kf:insert(), v4kf:eject(), v4kf:capture() and v4kf:lock().

The functions v4kf:hasCard(), v4kf:hasLockedCard(), v4kf:isEmpty(), v4kf:isOnline(), v4kf:isProcessing(), v4kf:isReady(), v4kf:readerType(), v4kf:sensors(), v4kf:state() and v4kf:version() provide information about the reader.

Buffered magnetic stripe data is retrieved by calling v4kf:magdata() and cleared from the buffer using v4kf:clearMagdata().

There is chip card support with v4kf:chipActivate(), v4kf:chipDisable(), v4kf:chipEnable(), v4kf:chipPin, v4kf:chipExecute(), v4kf:chipRead(), v4kf:chipReadEx(), v4kf:chipWrite() and v4kf:chipWriteEx().

There are callbacks named v4kf.online(), v4kf.error(), v4kf.stateChanged(), v4kf.magdataChanged(), v4kf.senseChanged(), v4kf.processingComplete() and v4kf.error().

v4kf:setTrace() and v4kf:fd() help with debugging.

## NOTES

Historically the module started out as supporting only the Leadus V4KF insertion readers. A number of other readers have been added later, but the module name got stuck.

## QUICK START

- Open the reader device by calling v4kf.new().
- Initialize the reader with v4kf:init().
- When the reader is initialized, accept a card with v4kf:insert().
- When a card is inserted, as reported by v4kf:state() and v4kf.stateChanged(), retrieve the magnetic stripe data calling v4kf:magdata().
- Eject the card using v4kf:eject().
- Again, completion can be seen via v4kf:state() and v4kf.stateChanged(). Retrieve the magnetic stripe data that was read when the card was pulled calling v4kf:magdata().