Package com.dalsemi.onewire.container
Interface OTPMemoryBank
- All Superinterfaces:
MemoryBank
,PagedMemoryBank
One-Time-Programmable (OTP) Memory bank interface for iButtons (or 1-Wire
devices) with OTP features. This interface extents the base functionality of
the super-interfaces MemoryBank
and PagedMemoryBank
by providing One-Time-Programmable services.
The OTPMemoryBank methods can be organized into the following categories:
- Information
- Read Status
- Write Status
Usage
-
Example 1
Read the OTP status of page 0 in the OTPMemoryBank instance 'otp':if (otp.canRedirectPage()) { int new_page = getRedirectedPage(0); if (new_page != 0) System.out.println("Page 0 is redirected to " + new_page); } if (otp.canLockPage()) { if (otp.isPageLocked(0)) System.out.println("Page 0 is locked"); } if (otp.canLockRedirectPage()) { if (otp.isRedirectPageLocked(0)) System.out.println("Page 0 redirection is locked"); }
Example 1
Lock all of the pages in the OTPMemoryBank instance 'otp':if (otp.canLockPage()) { // loop to lock each page for (int pg = 0; pg < otp.getNumberPages(); pg++) { otp.lockPage(pg); } } else System.out.println("OTPMemoryBank does not support page locking");
-
Method Summary
Modifier and TypeMethodDescriptionboolean
Checks to see if this memory bank has pages that can be locked.boolean
Checks to see if this memory bank has pages that can be locked from being redirected.boolean
Checks to see if this memory bank has pages that can be redirected to a new page.int
getRedirectedPage
(int page) Gets the page redirection of the specified page.boolean
isPageLocked
(int page) Checks to see if the specified page is locked.boolean
isRedirectPageLocked
(int page) Checks to see if the specified page has redirection locked.void
lockPage
(int page) Locks the specified page in this memory bank.void
lockRedirectPage
(int page) Locks the redirection of the specified page.void
redirectPage
(int page, int newPage) Redirects the specified page to a new page.Methods inherited from interface com.dalsemi.onewire.container.MemoryBank
getBankDescription, getSize, getStartPhysicalAddress, isGeneralPurposeMemory, isNonVolatile, isReadOnly, isReadWrite, isWriteOnce, needsPowerDelivery, needsProgramPulse, read, setWriteVerification, write
Methods inherited from interface com.dalsemi.onewire.container.PagedMemoryBank
getExtraInfoDescription, getExtraInfoLength, getMaxPacketDataLength, getNumberPages, getPageLength, hasExtraInfo, hasPageAutoCRC, readPage, readPage, readPageCRC, readPageCRC, readPagePacket, readPagePacket, writePagePacket
-
Method Details
-
canRedirectPage
boolean canRedirectPage()Checks to see if this memory bank has pages that can be redirected to a new page. This is used in Write-Once memory to provide a means to update.- Returns:
true
if this memory bank pages can be redirected to a new page- See Also:
-
canLockPage
boolean canLockPage()Checks to see if this memory bank has pages that can be locked. A locked page would prevent any changes to it's contents.- Returns:
true
if this memory bank has pages that can be locked- See Also:
-
canLockRedirectPage
boolean canLockRedirectPage()Checks to see if this memory bank has pages that can be locked from being redirected. This would prevent a Write-Once memory from being updated.- Returns:
true
if this memory bank has pages that can be locked from being redirected to a new page- See Also:
-
lockPage
Locks the specified page in this memory bank. Not supported by all devices.- Parameters:
page
- number of page to lock- Throws:
OneWireIOException
- on a 1-Wire communication error such as no device present or a read back verification fails. This could be caused by a physical interruption in the 1-Wire Network due to shorts or a newly arriving 1-Wire device issuing a 'presence pulse'.OneWireException
- on a communication or setup error with the 1-Wire adapter. It will also be thrown if the device needs 'program' voltage and the adapter used by this device does not support it.- See Also:
-
isPageLocked
Checks to see if the specified page is locked.- Parameters:
page
- page to check- Returns:
true
if page is locked- Throws:
OneWireIOException
- on a 1-Wire communication error such as no device present or a CRC read from the device is incorrect. This could be caused by a physical interruption in the 1-Wire Network due to shorts or a newly arriving 1-Wire device issuing a 'presence pulse'.OneWireException
- on a communication or setup error with the 1-Wire adapter.- See Also:
-
redirectPage
Redirects the specified page to a new page. Not supported by all devices.- Parameters:
page
- number of page to redirectnewPage
- new page number to redirect to- Throws:
OneWireIOException
- on a 1-Wire communication error such as no device present or a CRC read from the device is incorrect. This could be caused by a physical interruption in the 1-Wire Network due to shorts or a newly arriving 1-Wire device issuing a 'presence pulse'.OneWireException
- on a communication or setup error with the 1-Wire adapter. It will also be thrown if the device needs 'program' voltage and the adapter used by this device does not support it.- See Also:
-
getRedirectedPage
Gets the page redirection of the specified page. Not supported by all devices.- Parameters:
page
- page to check for redirection- Returns:
- the new page number or 0 if not redirected
- Throws:
OneWireIOException
- on a 1-Wire communication error such as no device present or a CRC read from the device is incorrect. This could be caused by a physical interruption in the 1-Wire Network due to shorts or a newly arriving 1-Wire device issuing a 'presence pulse'.OneWireException
- on a communication or setup error with the 1-Wire adapter.- Since:
- 1-Wire API 0.01
- See Also:
-
lockRedirectPage
Locks the redirection of the specified page. Not supported by all devices.- Parameters:
page
- page to redirect- Throws:
OneWireIOException
- on a 1-Wire communication error such as no device present or a CRC read from the device is incorrect. This could be caused by a physical interruption in the 1-Wire Network due to shorts or a newly arriving 1-Wire device issuing a 'presence pulse'.OneWireException
- on a communication or setup error with the 1-Wire adapter. It will also be thrown if the device needs 'program' voltage and the adapter used by this device does not support it.- See Also:
-
isRedirectPageLocked
Checks to see if the specified page has redirection locked. Not supported by all devices.- Parameters:
page
- page to check for locked redirection- Returns:
true
if redirection is locked for this page- Throws:
OneWireIOException
- on a 1-Wire communication error such as no device present or a CRC read from the device is incorrect. This could be caused by a physical interruption in the 1-Wire Network due to shorts or a newly arriving 1-Wire device issuing a 'presence pulse'.OneWireException
- on a communication or setup error with the 1-Wire adapter.- See Also:
-