EEPROM Problems

Started by Robotics_Job_Search March 9, 2005

I'm having a problem writing/reading to/from the EEPROM. I've come to
the conclusion that either...

1) My BasicX-24 has gone kaput.
or
2) I am missing something very simple.

Would someone mind running this program and tell me what they get for
an output? Seems to me that what I write to the EEPROM should exactly
match what I read back.

'******************************************************************************
Option Explicit
Option Strict On

Private Const ciELEMENT_SIZE As Integer = 2 '*** Integers take two Bytes ***
Private Const clHIGHEST_EEPROM_ADDRESS As Long = 32765
Private Const clLOWEST_EEPROM_ADDRESS As Long = 32700
Private lAddress As Long

Public Sub Main()
Dim iX As Integer
Dim iX2 As Integer

Debug.Print "Begin"
lAddress = clLOWEST_EEPROM_ADDRESS
Do While ( lAddress < clHIGHEST_EEPROM_ADDRESS )
Debug.Print "Address="; CStr(lAddress); ", ";
iX = CInt(Rnd() * 65536.0 - 32767.0)
Call PutEEPROM(lAddress, iX, ciELEMENT_SIZE)
Debug.Print "iX="; CStr(iX); ", ";
iX2 = 0
Call GetEEPROM(lAddress, iX2, ciELEMENT_SIZE)
Debug.Print "X2="; CStr(iX2)
lAddress = lAddress + CLng(ciELEMENT_SIZE)
Loop
Debug.Print "End"
End Sub
'******************************************************************************

I'm getting data like this...
'******************************************************************************
Begin
Address2700, iX=-29521, X21919
Address2702, iX563, X2563
Address2704, iX&323, X2=-20269
Address2706, iX 595, X2$947
Address2708, iX 272, X2=-21200
Address2710, iX=-20477, X2=-30973
Address2712, iX506, X2=-23686
Address2714, iX=-18517, X2'563
Address2716, iX=-684, X2=-684
Address2718, iX044, X2=-18260
Address2720, iX%988, X2=-28540
Address2722, iX=-30543, X2=-5711
Address2724, iX=-6199, X2=-26167
Address2726, iX4, X22
Address2728, iX333, X2501
Address2730, iX!74, X2I90
Address2732, iX"580, X2=-22220
Address2734, iX2268, X2(172
Address2736, iX=-1541, X2=-11269
Address2738, iX=-24806, X2874
Address2740, iX772, X22484
Address2742, iX609, X2609
Address2744, iX=-27513, X2239
Address2746, iX=-10857, X2=-30057
Address2748, iX2301, X2"317
Address2750, iX=-31563, X2821
Address2752, iX%130, X2=-10710
Address2754, iX2065, X2=-3775
Address2756, iX=-10435, X2=-23747
Address2758, iX=-26539, X2=-11179
Address2760, iX=-27313, X2=-27313
Address2762, iX774, X2=-2354
Address2764, iXy21, X2=-15
End
'******************************************************************************

Shouldn't iX be equal to iX2? As you can see from the above data they
do NOT match. Please tell me if my BasicX is bad, or what I'm doing wrong
in my program.

Thank you.
Ken_S.



--- In , Robotics_Job_Search
<Robotics_Job_Search@C...> wrote:
> I'm having a problem writing/reading to/from the EEPROM. [...]
> Would someone mind running this program and tell me what they get
> for an output?

When I run your program on a current production BX-24, the read and
written values are the same (as expected).

Don



Don;

>When I run your program on a current production BX-24, the read and
>written values are the same (as expected).

Thanks! Then only conclusion I can come to is that my BasicX-24 is
bad. Anyone else agree/disagree?

I had sent it back once already because I had trouble getting it to
take downloads. Often I have to try three to five times (sometimes more)
before it will verify okay. One night I tried for over an hour and it
never took it. I discussed it with NetMedia Support (I explained the
signals I saw on my O-Scope for pins 1, 2, and 3 of the BasicX Module, and
the signals on pins 1, 2, 5, and 6 of the EEPROM chip) and they agreed to
replace it. However, they sent it back saying they tested it and there was
no problem with it. It continues to take multiple downloads to verify
okay, and data saved to the unusued area of the EEPROM (data-logging) comes
back as garbage.

Any advice on working with NetMedia a second time? Thank you.
Ken_S.

At 04:33 PM 3/9/2005, you wrote:

>When I run your program on a current production BX-24, the read and
>written values are the same (as expected).
>
>Don


At 08:28 PM 3/8/2005, you wrote: > I'm having a problem writing/reading to/from the EEPROM. I've come to
>the conclusion that either...
>
> 1) My BasicX-24 has gone kaput.
> or
> 2) I am missing something very simple.
>
> Would someone mind running this program and tell me what they get for
>an output? Seems to me that what I write to the EEPROM should exactly
>match what I read back.
>
>'******************************************************************************
>Option Explicit
>Option Strict On
>
>Private Const ciELEMENT_SIZE As Integer = 2 '*** Integers take two Bytes ***
>Private Const clHIGHEST_EEPROM_ADDRESS As Long = 32765
>Private Const clLOWEST_EEPROM_ADDRESS As Long = 32700
>Private lAddress As Long
>
>Public Sub Main()
> Dim iX As Integer
> Dim iX2 As Integer
>
> Debug.Print "Begin"
> lAddress = clLOWEST_EEPROM_ADDRESS
> Do While ( lAddress < clHIGHEST_EEPROM_ADDRESS )
> Debug.Print "Address="; CStr(lAddress); ", ";
> iX = CInt(Rnd() * 65536.0 - 32767.0)
> Call PutEEPROM(lAddress, iX, ciELEMENT_SIZE)
> Debug.Print "iX="; CStr(iX); ", ";
> iX2 = 0
> Call GetEEPROM(lAddress, iX2, ciELEMENT_SIZE)
> Debug.Print "X2="; CStr(iX2)
> lAddress = lAddress + CLng(ciELEMENT_SIZE)
> Loop
> Debug.Print "End"
>End Sub
>'******************************************************************************
>
> I'm getting data like this...
>'******************************************************************************
>Begin
>Address2700, iX=-29521, X21919
>Address2702, iX563, X2563
>Address2704, iX&323, X2=-20269
>Address2706, iX 595, X2$947
>Address2708, iX 272, X2=-21200
>Address2710, iX=-20477, X2=-30973
>Address2712, iX506, X2=-23686
>Address2714, iX=-18517, X2'563
>Address2716, iX=-684, X2=-684
>Address2718, iX044, X2=-18260
>Address2720, iX%988, X2=-28540
>Address2722, iX=-30543, X2=-5711
>Address2724, iX=-6199, X2=-26167
>Address2726, iX4, X22
>Address2728, iX333, X2501
>Address2730, iX!74, X2I90
>Address2732, iX"580, X2=-22220
>Address2734, iX2268, X2(172
>Address2736, iX=-1541, X2=-11269
>Address2738, iX=-24806, X2874
>Address2740, iX772, X22484
>Address2742, iX609, X2609
>Address2744, iX=-27513, X2239
>Address2746, iX=-10857, X2=-30057
>Address2748, iX2301, X2"317
>Address2750, iX=-31563, X2821
>Address2752, iX%130, X2=-10710
>Address2754, iX2065, X2=-3775
>Address2756, iX=-10435, X2=-23747
>Address2758, iX=-26539, X2=-11179
>Address2760, iX=-27313, X2=-27313
>Address2762, iX774, X2=-2354
>Address2764, iXy21, X2=-15
>End
>'******************************************************************************
>
> Shouldn't iX be equal to iX2? As you can see from the above data they
>do NOT match. Please tell me if my BasicX is bad, or what I'm doing wrong
>in my program.
>
> Thank you.
> Ken_S.





--- In , Robotics_Job_Search
<Robotics_Job_Search@C...> wrote:
> [...] they sent it back saying they tested it and there was
> no problem with it. It continues to take multiple downloads
> to verify okay, and data saved to the unusued area of the EEPROM
> (data-logging) comes back as garbage.

It seems that your test case is evidence that it is not functioning
correctly. Perhaps you can convince them to replace it with one of
the BX-24p units.

Good luck.

Don



Re: EEPROM Problems

>Perhaps you can convince them to replace it with one of the BX-24p units.

Highly unlikely!

At 08:31 PM 3/9/2005, you wrote: >--- In , Robotics_Job_Search
><Robotics_Job_Search@C...> wrote:
> > [...] they sent it back saying they tested it and there was
> > no problem with it. It continues to take multiple downloads
> > to verify okay, and data saved to the unusued area of the EEPROM
> > (data-logging) comes back as garbage.
>
>It seems that your test case is evidence that it is not functioning
>correctly. Perhaps you can convince them to replace it with one of
>the BX-24p units.
>
>Good luck.
>
>Don >
>
>Yahoo! Groups Links >
>