
Originally Posted by
Darrel Taylor
There really should be another level between those two. This mode would allow it to receive a string of keypresses (without showing an error), and if anywhere along the way the 5 digits are pressed in the right combination then access is granted. This is more like the way a building alarm pad works. It gives much better protection than the Low level, but if you forget the password, there's no way to figure it out.
I have absolutely no idea how to do that, because I do not understand how the code works now.Why even have a low security setting? What i am looking for is not a back door, rather a master password which enters only a setup loop to program the eprom. I figured out how to vary the # of digits and alter password at compile, how would I set a master password? What actually tracks the digits entered, does it continue to track them while executing a gosub? can I call them from a running subroutine to exit into a setup loop? <br> Ok getting Idea now, a little chocolate is brain food
, @ READKEYPAD _ByteA, is how program knows to check keypad. Store in ByteA
Personally, I don't like the "BackDoor" approach. That kind of thinking is for hackers and thieves. And if someone finds out about it, you can be sure it will be used against you. And if other people have this device, you can get blamed for anything that happens, whether it was your fault or not. But if it's just a one-off for you're own gate. Hey, go for it.
It in not something I want to MFG, probably patent issues there, but I want a few for my own uses.
In my opinion, you should know the current code to be able to set a new code. Which means that once you've entered the correct password, you have a certain time period to enter another code, I would probably make it
3 stars. If that code is entered in time, it branches to another routine that allows you to enter the New Code.
HOW? IF Keypress = "***" THEN . . . will not compile.
This is what I want to do. One of my bashful friends wants a gate controller for his business, and wants to change the combo when an employee leaves his service. I was thinking it would be useful to have several passwords and log the data as to who went through, probably a project beyond the scope of this PIC control, but maybe not if interfaced to a P/C. Old P/Cs are landfill fodder.
Obviously, if you forget the code, the only way to reset it is to reprogram the chip. For security,
That's a good thing.
Don't try to add more pasta by stitching things in with the existing keypad routine. Create a separate routine that handles entering the new code, and branch to it at the appropriate time. There's only so much marinara sauce in the world. And I want some of it for my dinner.
Switching to rice noodles and seaweed - the Japanese stuff always works! 
;----
Back to the EEPROM.
Location 0 is where the length of the Code is stored. The actual Code is stored from location 1 on.
Start at location 1, and store each keypress in successive locations. After they've finished entering the code (with a # sign), store the number of digits they entered in location 0.
<br>
Code:
Data @0, 5, "78A5D" ; Length of, and The Combination
change using:
WRITE 1, 12345
or
WRITE 1, ByteA ?
how do I get byteA to have the value of new combo?
@ READKEYPAD _ByteA
. . . Right?
Short of plugging PIC into the programmer how do I communicate with it?
JS
Last edited by Archangel; - 15th February 2007 at 05:09.
Reason: Feeling Smarter
If you do not believe in MAGIC, Consider how currency has value simply by printing it, and is then traded for real assets.
.
Gold is the money of kings, silver is the money of gentlemen, barter is the money of peasants - but debt is the money of slaves
.
There simply is no "Happy Spam" If you do it you will disappear from this forum.
Bookmarks