This month has been busy again, further improving on two of the three main issues we talked about last month in the release notes for version 1.29. As well as adding some new functions and fixing bugs
1. Automatically compare the physical key status to the database
In v1.29 we introduced the "Status inconsistency" report so you could check if the database had correctly recorded whether the key was in or out, and then fix the database if it had it wrong. This has now been automated. When a user has closed the door following a key collect or return the system checks the status of the relevant key. If it does not match the action then we don't update the database and an appropriate message is displayed on the screen.
Of course, if you like to check for yourself, you can still use the Status inconsistency report.
2. System (still) freezing
Unfortunately some users were still experiencing random system freezes and other undesirable activity, such as slot lights failing to illuminate or the door not opening.
The problem was again identified as "threads" not being released from memory. To explain the problem without getting too technical: Every time the code made a call to the buzzer to alert the user it created a thread in memory, the problem was none of the previously created threads were released. So with every BEEP more memory was chewed up, until eventually there was no memory left and the system would freeze up. We discovered this was an inherent problem of the coding language so with this update we have switched to using "processes" for the beeps, these are like mini programs and are a lot easier to stop and clean up.
Other Enhancements and Bug Fixes
- Admins can now assign a new tag to a Registration (to replace a lost or faulty one) via the new "Change RFID Tag" function added to the Keys menu. This can be done without the key in its slot - because if the tag is lost or broken the keys can't be returned.
- Log files over 3MB could not be uploaded to the server so now when a files size is more than 3 MB the file is zipped and uploaded, then a new log file is created. Also zip the database file before uploading.
- We can now configure KeyMaster cabinets via a template, rather than set up each one individually. This will help us get cabinets out the door quicker as we can simply use a template for 12, 25 or 49 keys configurations, as well as other functions we set prior to shipping to a customer.
- Bug fix: If booking is checked-out and checked-in within 30 seconds then upload both status (checked in/out)to PoolCar instead of skipping one of them.