How do you do....it? Thread, Manipulating Optical Mark Readers in Technical; Hi everyone
Depending on your point of view, this is either a pointless exercise or an intriguing challenge...! Anyway, here ...
16th October 2012, 12:43 PM #1
Manipulating Optical Mark Readers
Depending on your point of view, this is either a pointless exercise or an intriguing challenge...! Anyway, here goes.
We have a couple of OMRs (DRS CD210 models) that are used extensively (excessively?!) for registration. One recently required some attention to get it back on top form, and the process of sorting it out led me to the conclusion that they're pretty robust devices, and could have other uses. For example - DIY survey and form collection, etc. Also, one of the IT teachers noticed the device in my office and asked if it could be used to show the pupils another form of input device (they get bored with keyboards, mice and so on), and I thought I might be able to produce some demo forms for them to play with etc.
I looked for some freeware that might interface with the OMR but with no success. So, I've started interrogating the serial data that flows when the OMR is being used for registration, and worked out what controls are sent from the PC to the OMR to get it 'ready' for scanning; this process clearly also sets up the parts of the page to scan (via a hexadecimal string which requires some further investigation; for now, I'm using the one the register program sends it). I've managed to get a sheet fed through, the result of '0' returned (as it was a blank page!) and sent the 'accept' or 'reject' commands back to the OMR, which either ejects the sheet into the output bin or throws it backwards for a retry.
In my opinion, this would be enough to demonstrate the principle to the students, but I'd ideally like to make a little interface program to send and receive the appropriate commands via simple buttons, rather than have to type in loads of ECHO statements into a DOS window. Also, if they could 'code up' a sample OMR sheet and see the reader interpret their marks, that would be quite nice. Does anyone have any thoughts on this, please?
If anyone's interested in my discoveries so far (including the commands for controlling the OMR etc) then I'm more than happy to share!
IDG Tech News
16th October 2012, 12:58 PM #2
I can't think of any use for it... but I am utterly intrigued by it!
16th October 2012, 01:15 PM #3
You used to be able to trade those in for cashback on a new one..
16th October 2012, 01:46 PM #4
2 Thanks to shadowx:
Oaktech (16th October 2012), sdc (16th October 2012)
28th November 2012, 10:17 AM #5
- Rep Power
Hi, Would you like a list of the OMR commands?
28th November 2012, 11:19 AM #6
That would be very useful, thanks.
Originally Posted by Mac6
28th November 2012, 11:46 AM #7
- Rep Power
Let me dig them out & I'll let you know when I have them.
Originally Posted by sdc
28th November 2012, 11:52 AM #8
- Rep Power
Here you go. All instructions must be preceded with a '+' sign. When you 1st switch on an OMR it must be 'Framed' to set the baud rate,stop bits etc. Send a stream of '+U+*+U+*'.
Originally Posted by sdc
Only commands supported by DRS’ current range of readers are shown here.
See SOS help for detailed description of these commands.
+Command Function Notes
$ Set clock track 5
% Set mark algorithm 5
& Row offset (Virtual clock) A
( Load printer P
) Print P
" Purge all sheets *
1 (and 2-9) Increment buffer
< Single sheet mode *,8
> Multi sheet mode *,8
= Echo next character
? Load test pattern
} Reset print FIFO P
^ Reset to defaults
@ @ thru O mode
B Bad sheet
C Get decode checksum
D Display / Beep A
G Good sheet
H Hoerizontal decode
I Invert decode
J Get density 0
K Kill time
L Get sheet length
M Get OMR model number
N Switch settings
O Cancel (Overwrite)
P Pick a sheet 7
R Send row image
S Send data to host 0
T Time out enable
U Underside/rear D
V Vertiacl decode
W Wait for start button
X Hexadecimal mode
Y Oritive (Yoritive) decode
Z Zero decode buffer
a Additive two
c Count selected character
d Get barcode data/info 2
j Get density (non space) 1
k Convert characters
l link barcode data 2
p Pick for printing P,9
q reset discrimination/sensitivity
s Send data (non space) 1
t Set barcode track 2
v Version of SOS
w Width (No of tracks)
x Megadump 4
y Reader ID
z Get sheet count
1, 2, 3, 4, 5 etc… The numbered option must be granted for this command to work.
A Only Automatic readers
D Only double sided readers
P Only readers with optional Transport printer fitted
Only CD4xx, CD8xx, PSxxx models
28th November 2012, 12:25 PM #9
Wow! Thanks for that; we'll let you know how we get on!
By ccollins in forum MIS Systems
Last Post: 26th September 2009, 10:32 PM
By Optimus in forum Jokes/Interweb Things
Last Post: 13th May 2008, 01:09 PM
By tarquel in forum Windows
Last Post: 17th August 2005, 06:43 PM
Last Post: 28th July 2005, 09:29 AM
By mrtechsystems in forum General Chat
Last Post: 28th June 2005, 10:01 AM
Users Browsing this Thread
There are currently 1 users browsing this thread. (0 members and 1 guests)