// rev.h Revision 1 - baseline for PC3 In theory compatible with all existing sites Revision 2 Added 'bulk add users' button with many options Added 'search' button to users screen allowing search for any type of data Added submenu for parking - compatibility with early parking system in Melbourne Added 'monitor only' selection for technician monitoring Added operator_less_access function to stop editing, deletion or creation of operators with more access than current Made parking zones load in with access levels Fixed bug in archive file which made directory change to drive A: and mucked things up Removed additional extra data files from backup which weren't needed Status working for doors and lift levels Revision 3 Changed operation of parking zones and people counters Created People Counter entry in hardware menu and in device menu with live status Created parking groups entry in hardware menu and in device menu with live status Removed people counters and parking from setup menu made automatic conversion of operator types for these changes and logging of new actions Created drop-down list in users for site codes (general firmware) Lengthened connect time for modem connections to 90 seconds Revision 4 Card parameters for mag-stripe cards Support for general alarm controller including status reporting Parking report Revision 5 Release candidate. Includes all PIG and Alarm status reporting for new firmware Revision 7 Fixed bug at Wang with reporting of exit requests etc. Fixed problems with 'remember windows' thingo so that windows don't move too far. Revision 8 Controller access levels added Revision 9 Modifications to access level stuff for Jack Gallagher Club Key Revision 10 Fix up loading of timezones for Jack Gallagher Club Key Revision 11 Fix up general firmware format for keys for Jack Gallagher Club Key so he can upgrade properly Revision 12 Fix up reporting of door status for normally open switches Fix up scanning of odd-numbered length keys in the Club Key data file Revision 13 Fix up reporting of long imprinted numbers for keys Optimise download of CALs and DALs so they don't do it unnecessarily Revision 14 Fix up downloading of deleted holidays and timezones. Changes for Brazil/universal firmware - door options, dual technology etc Changed General flag to Universal[general] and made other options less accessible Added 'do not press this button' button! Fixed 'month change' incorrect problem - minus one month. Added duress digit for dual technology system by adding 1 to PIN number Revision 15 Fixed up entry/exit door reporting for brazil/universal Revision 16 Fixed up problem where on a card system editing a user sometimes deleted the wrong one Added 'sort' checkbox to history report screen Fixed up problem with access levels/parking zones integration for Edgecliff Centre. Revision 17 Fixed up problem where on a key/universal system changing a users access level to 0 didn't remove the user Added 'another report' button to the history report display screen Stopped deletion of users who didn't exist in a controller with univeral firmware Revision 18 Fixed up problem where CALs were only being recalculated for the first controller on an access level edit Revision 19/20 Added MessageBeep(-1) to alarm messages to make the PC speaker beep as well as sound card Enabled editing of areas from PIG addition screen Added editing of inputs for floor destination reporting and intercom for lifts Made reports able to be run multiple times while retaining data from previous report specification Made CALS only load into controllers when doing a full reload Fixed problem with menus not working due to incorrect optype file on an upgrade Fixed problem where spurious extra info for doors on upgrade from dos version Fixed problem where login window kept moving slightly each time logon or logoff Fixed problem for Jack Gallagher with long lines of information coming for access levels club key Revision 21 Lots of stuff for firedoor control Various fields for HLI at 601 Pacific Highway Fixed problem where users being sorted 'in the background' with club key system Fixed problem for Vangren re loading of PIN numbers into universal controllers (incorrect deletion) Revision 22 Fixed problem where users with numbers greater than 32767 on card systems and universal were assigned user number 0 and being lost. Revision 23 2 port pig field added to controller screen lots of changes for HLI at 601 Pacific Highway Revision 24 Fixed problem with card numbers too long at 7-15 macquarie place Fixed problem with reporting of users with access to various lift access levels Revision 25 Fixed up various problems with conversion of existing access levels and holidays PC2 Made it possible to not display bad key reads (user id 0) for Chris Begg Revision 26 Fixed up problem with reporting of lift access levels/relays 7-15 Mac place Revision 27 Added 'new format' and 'old format' buttons to user screen for Wayne (Hildebrandt) Made modem initialisation happen on startup with modem system to stop bogus online messages Fixed list of relays in firedoor controller not selecting correct one after edit. Fixed list of exit request inputs in firedoor controller not being refreshed correctly. Made area 'pulse time' work for alarm. Revision 28 Automatically assigns registration system to controller 1 if undefined Revision 29 Fixes problem with modem initialisation which crept into rev 27 Introduces track 1 card reading options for magstripe cards Revision 30 Fixes problem with report size greater than 16000 reports Revision 31 Fixes problem where registration reader events causing GPF with universal firmware Revision 32 Fixes small problems with bootstrap loader. Fixes problem where alarms don't download properly with universal firmware Revision 33 Changed so with universal firmware card parameters always download - not dependant on controller type Revision 34 Removed 'arm', 'disarm' and 'normal' buttons (which didn't work anyway) from the devices/areas screen Added reporting for areas and pigs Revision 35 Supports 400 pigs 10 areas per controller Added 'display long card' option for aba card systems with general firmware Fixed up bulk add users - imprinted number now works, cards can be added with sitecode Revision 36 Added remote expiry feature. Revision 37 Fixed remote expiry feature so it doesn't affect existing systems. b Revision 38 Advanced holidays - holiday periods, automatic detection of firmware type etc. Revision 39 Bug fixes for QBE Rhodes - alarm status reporting Revision 40/41 Make credentials display etc. Revision 43 - incorporates PIG-2 support as well as lots of other stuff. Revision 44 - fixed bug where upgrading to a new version of PC3 removed all the card numbers (AAARGGH!!!) Revision 45 - up to 254 areas supported Revision 46 - automatic download after reader offline event 601 pacific hwyw Revision 47 - fix up bug with editing of two lift banks with the same names Revision 48 - added the ability to sort user reports by data 1 and data 2 by name or card number added fbt report added activation/deactivation to bulk add screen Revision 49 - added support for input/relay boards on 'pig' type controllers Revision 50 - added support for programmable inputs on door controllers Revision 52 - added attendance reporting for Bermel added 'use-count' reporting in user list and bulk add for Mainline Revision 53 - added support for touching pigs to register on 4-door controller Revision 54 - time and attendance reporting module added Revision 55 - fixed problem where first transaction lost when running PC3. Revision 56 - diagnostics flag added for magstripe systems (parameter 10) made sorting by imprinted numbers on a character basis rather than by no. Revision 57 - fixed bug in timetable report stopping long names from being processed properly. Fixed bug where start date in reports getting corrupted when a report is cancelled. Revision 58 - added password timout functionality Revision 59 - fixed up a few glitches with reporting of door status for programmable input controllers Revision 60 - allowed selection of two line versus one line reporting format for transactions Revision 61 - fixed problem where external interface was not saving user data file always Revision 62 - fixed problem with archiving of history logs post y2k Revision 63 - Support for 3 alarm relays for Wayne Kennedy Hildebrandt Revision 64 - support for input isolate/deisolate events Revision 65 - revamped arming and disarming transactions to make them more sensible. Now when any attempt to arm is made (by PC, user at reader, input or timezone) it is recorded as an 'attempt to arm' and the buzzer timer is started. At the expiration of the buzzer time one of 2 new transactions is generated - a 'successful arming' transaction or a 'failed arming' transaction. Revision 66 - report window font size resized to 9 points to fit alarm transactions in. Revision 67 - fixed bug for channel 10 - limited to 256 access levels Revision 68 - importing lock.dat doesn't overwrite existing records Revision 69 - door option for 300ms pulse Revision 70 - fixed problem with door access levels > 256 (again - channel 10) Revision 71 - global antipassback media centre Revision 72 - fixed problem where reports didn't print more than 256 access levels added option to sort access levels alphabetically Revision 73 modem options for no wait for response, timeout Revision 74 archive data fixed up for year 2000 problem Revision 75 changed the modem timeout routine for QBE insurance Revision 77 Pigs all changed to inputs ` Support for lots of relays on pig controllers Revision 78 More changes for universal R2 firmware. Sent to Sid (Thyme software) for PNG Revision 79 Universal R2 firmware - number of readers for PIG firmware Revision 80 Site code support for Universal R2 firmware - 10000 users in ordinary chip Revision 81 2 port pig button in alarm options for backward compatibility Revision 82 Info button for controllers added plus dynamic updating of the fields here Programmable description for door alarms (Lex Arrow Security) Revision 83 Lookup table for input calculator fixed up to incorporate IN1-IN8, OUT1-4, PIG1-2 Revision 84 Transaction count added to history report for media centre Revision 85 Made door options button accessible when editing a pig controller Fixed problem where duplicate inputs on different controllers can't be added Revision 86 Increased memory allocation for door access levels for channel 10. Revision 87 Incorporated Simplex file format as export external interface Revision 88 Fixed bug in delete door changed routine in convert card utility to allow removal of sitecodes (arrow comms qld) Revision 89 Introduced validation of other setup data to stop modem problems on conversion of old data Revision 90 Allowed long sitecodes to be programmed (>8 bits). Modifications for Chipnet interface to allow different processing of received cards through the external interface. Revision 91 Many changes for new controller type - with programmable relays (pig-outs) Revision 92 Fixed bug where no longer remembered last operator Revision 93 Fixed lots of bugs relating to pig-relays Revision 94 Fixed bugs in display of alarm area, changing of area on input Revision 95 Armed led added Revision 96 Fixed up tab order on area screen and reporting of door events rectified with R4 firmware Revision 97 Removed 'de-isolated' message on inputs, various other memory leaks fixed Revision 98 Fixed up problem with display of access levels. Revision 99 Several changes: - check if registration controller is online when registering - added 'arm all' and 'disarm all' buttons to area - display of internal controller date and time in 'controller info' - fixed up PIG tamper messages so now searches for relays and door pigs also - fixed up door status reporting - introduced the ability to save the last bootstrap loaded file Revision 100 Made area automatically disarm when a full controller download is done. Revision 101 Made 'random pin digits' work properly in technician/site (previously wasn't saved) Revision 102 Fixed problem when registering cards on R3 firmware - was taking the wrong reader Revision 103 Made imprinted number and card imprinted number unsigned long instead of char[6] Revision 104 Timed antipassback features added Revision 105 Status for lift, firedoor and pig all fixed up R2 firedoor adjustments made Revision 106 Fixed bug sorting of users by imprinted card number Revision 107 Report history - search by card number feature added. Revision 108 Card options - additional card format for bermel cards added Revision 109 Stop operators from clicking close button if they don't have the ability to shut down Revision 110 Fixed problem with 'T' accelerator on temperature sensors mucking everything up Revision 111 Fixed problem with description of 'exit request text' in programmable relays Fixed bug with default setting of user type in bulk add users Revision 112-118 Advent (prior to changing offset to 200) Revision 119 Fixed problem with 'inactive users' report hanging the system Controller report fixed up for R3 firmware - display of relay trigger time instead of door Default settings for R3 door set to 0 rather than random Revision 120 Fixed problem with downloading of intercom inputs Revision 121 Added 'storman' type export plus added user name to simplex export Revision 122 Changed imprinted numbers to strings again Revision 123 Tiny change in printout of card users imprinted numbers for water board Revision 124 Added data fields to storman export Revision 125 Fixed up problem with deleting of areas causing corruption Revision 126 Extended user database so that all indexes etc are longs rather than ints with associated consequential changes for Holroyd Council - importing 35000 users via external interface. Revision 127 Added 'P' pulse club import interface and 'M' member magic import interface Revision 128 Fixed up little bug in 'P' pulse club import interface Revision 129 Changed storman export to include data fields on same line Revision 130 Added 'barcode' options to card options - match site code and enforce card length (Holroyd council) Changed description of tz to 'Masking TZ' in Devices/Areas Removed 'r1' registration code for key registration - now if universal firmware always reads the rego reader Revision 131 Added new fields to operator type to allow restriction of whether operators have capability to override on devices/doors and devices/floors screens Revision 132 Fixed problem with R3 firmware where if controller was set to 2 door it didn't display doors 3+4 in access level dropdown Fixed bug where GPF occurred if controller returned an invalid day of week to the controller info screen Revision 133 Fixed loading of access level when all doors have been deleted from a particular controller - loads an empty one Revision 134 Set up defaults for setups and controller information to make setup easier. Revision 135 Automatic site dialling for Wayne Kennedy Revision 136 Added option to not display lost transaction messages under technician/features for HCN Revision 137 Cleared controller status when looking under controller/info to ensure that it updates correctly. Revision 138 Removed 'newline' character when dialling modem to try to stop failure when dialling on some modems Revision 139 Added search for imprinted number in history; increased number of users in history user list dropdown Made default 'don't scan for pigs' better for KEY controllers Revision 140 Fixed bug in Operator setup - 'you must enter a name' with name already there. Revision 141 Fixed problem with generate random PIN not working Revision 142 Made scanning of background tasks slower - 100ms time rather than 10ms for background Attempting to improve CPU usage on Windows NT Revision 143 Background tasks back to 10ms. Introduced message_process_events into delay routine to improve sharing of resources Revision 144 Added pig timing value to the standard input options window for R2 firmware Revision 145 Stopped downloading more than 10 site codes (and mucking up other parameters) Added 'presco * arms/disarms' checkbox to controller screen and associated parameters (needs PPN0349 or greater) Revision 146 Changed file access routines - no more xvt_fsys* routines. Hopefully fix problem with file loss in NT/2000 Introduced checking for duplicate card numbers in the bulk add routine Eliminated 0x78 message from a registration timeout Verified that status window disappears when updating users for global antipassback Revision 147 Introduced licensing Changed help files so they work with the pdf. Revision 148 Changed bootstrap routine - previously polling was continuing during bootstrap Revision 149 Added 'number of relays' field for lift system Revision 150 Fixed up parking status reporting for R2 firmware. Needs updated firmware as well rev 368 or greater Revision 151 Added 'follow relay' for input definition so that inputs can trigger individual relays if desired Revision 152 Fixed up follow relay definition and changed status so it only reports when displaying devices Modified floor definition screen so that floor destination and intercom inputs now calculated using calc button Revision 153 Modified operation of files to eliminate/reduce corruption of files Changed report users for abacard users so list is correct (no sitecode/card number) Added 'override timezone' buttons to doors and floor settings, as well as cancel overrides menu on technician menu Midnight cancel of timezone override too. Revision 154 Archive system data didn't work in rev 153 - fixed. Revision 155 Fixed display of overridden door status devices/doors when overridden. Revision 156 Fixed creation of empty menu problem if operator type allows menu but no lifts for example Revision 157 Changed upgrade procedure for fire doors so the pig information is upgraded only for fire door controllers not for all controllers Revision 158 Minor changes/bug fixes found when comparing with advent code. Fixed problem when opening door.dat file. Revision 159 Device/door/override timezone button display set to follow override permissions in operator type Revision 160 Introduced delay in dialling commands for modem remote connection Fixed problem with 'normal' button under Devices/Floors Revision 161 Added 'select relay via PIN checkbox for presco lift firmware Revision 162 Fixed processing of events in background during dialling of multiple modems (QBE 82 Pitt St). Changed size of report font for user list so fits on a single page better. Also fixed bug in length of lines for reports. Revision 163 Fixed problem with creation/modification of controller access levels. This problem exists since rev 153. Revision 164 Added firmware revision check to download alarm readers code because some R3 firmware not liking (or ignoring) 60* commands Revision 165 Added restricted licensing for a number of controllers and a number of users Revision 166 Removed status window when updating antipassback with global a/p turned on Made license check occur at midnight. Fixed user problems in edit user/indexing Fixed duplication of cards where antipassback enabled plus introduced verify user database under tech/util Added presco format card options to controller screens and user screen for base 12 card Revision 167 Fixed tiny problem where 04*64 command being loaded into all controllers each time rather than just one. Revision 168 Fixed problem where 'follow relay' setting was being lost Revision 169 Added 'auto register' feature so that when a credential is presented at the registration reader it pops up the screen for editing that user Revision 170 Added follow relay functions for R2 pig firmware Revision 171 Fixed up cal stuff for SKB - memory allocation for CALs and CALINSTS Revision 172 Made it so that the current lift bank setting is saved when editing controllers and editing liftbanks Added 'invert led' settings on door, reader and lift screens and appropriate corresponding commands Revision 173 Made 'input options' button available for lift controllers Revision 174 Changed 'fail-safe' message to 'reverse relay contacts' to make less confusing for editing floors Fixed up problem with corruption of control.dat (file being saved too often in 'controller set empty' routine) This in turn reduced enormously the CPU time being used by the program Reduced time delay on startup if com port not available Added technician/utilities/merge imprinted numbers option Revision 175 Removed 'copyfile' and reintroduced 'rename' and 'remove' to improve performance Revision 176 Fixed problem with access.dat upgrade When backing up with no floppy in A: stopped lots of errors from coming up Fixed the 48x48 icon to say PC3 (used to say PC2) Revision 177 Fixed up R3 inverted LED settings Revision 178 Added individual presco format option Revision 179 Made it so that lift access level items all load in when viewing a lift access level Revision 180 250 parking zones supported Revision 181 Fixed up problem with 'invert lift LED' not sending right command (23) to controller (was 27). Revision 182 Supports R3 universal firmware for doors and lifts Fixed bug where downloading incorrect information for antipassback status for access levels for each user. Lots of changes relating to R3 universal plus tidying up window positions, downloading of overridden status, other bug fixes Revision 183 "Presco format" changed to "#/* in number" on controller edit screen Door access level and lift access level spelt out on controller edit screen Revision 184 Fixed problem when creating more than 62 CALs for parking system Revision 185 Fixed problem with programming of users for pulse club interface Revision 186 Lift inputs convert across from earlier versions properly Revision 187 Fixed up problem with importing of users at MLC - abacards not interpreted as LONGs correctly Revision 188 Changed width of fields in status bar for bigger memory and hard disk Fixed up report for history to include parking denied transactions Revision 189 Fixed problem with area status reporting and area arming with R2 firmware - using area numbers instead of indexes Revision 190 Fixed more problems with area status reporting and area arming with R2 firmware -PIG status Revision 191 Fixed up problems with lift interface on R3 - display of floors in lift bank, reader type setting Revision 192 Added support for reading ikey numbers Added ability to invert reader LEDs (universal firmware) Added who's inside report