<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Structured EEPROM access with Arduino/AVRs</title>
	<atom:link href="http://projectgus.com/2010/07/eeprom-access-with-arduino/feed/" rel="self" type="application/rss+xml" />
	<link>http://projectgus.com/2010/07/eeprom-access-with-arduino/</link>
	<description>Might even work.</description>
	<lastBuildDate>Sat, 04 Feb 2012 06:01:24 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: bino</title>
		<link>http://projectgus.com/2010/07/eeprom-access-with-arduino/comment-page-1/#comment-3947</link>
		<dc:creator>bino</dc:creator>
		<pubDate>Fri, 21 Jan 2011 10:19:56 +0000</pubDate>
		<guid isPermaLink="false">http://projectgus.com/?p=316#comment-3947</guid>
		<description>Hi Gus.

Can I use it for any type of data that supported by Arduino ?
Your example only use : int, char, boolean.
What about &quot;byte&quot; ? 
What about array of the same data type (i.e array of bytes) ?

Well , actualy i&#039;m looking of a way to store :
- 3 ip address 
- 1 MAC address
- 1 hostname
- 1 port number

Sincerely
-bino-</description>
		<content:encoded><![CDATA[<p>Hi Gus.</p>
<p>Can I use it for any type of data that supported by Arduino ?<br />
Your example only use : int, char, boolean.<br />
What about &#8220;byte&#8221; ?<br />
What about array of the same data type (i.e array of bytes) ?</p>
<p>Well , actualy i&#8217;m looking of a way to store :<br />
- 3 ip address<br />
- 1 MAC address<br />
- 1 hostname<br />
- 1 port number</p>
<p>Sincerely<br />
-bino-</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: 13oR</title>
		<link>http://projectgus.com/2010/07/eeprom-access-with-arduino/comment-page-1/#comment-704</link>
		<dc:creator>13oR</dc:creator>
		<pubDate>Sun, 01 Aug 2010 02:15:26 +0000</pubDate>
		<guid isPermaLink="false">http://projectgus.com/?p=316#comment-704</guid>
		<description>hi Gus, first, thank you for your quick reply.
Yes you are right i don&#039;t describe properly.
I&#039;m using keypad library with arduino but in standalone mode with battery (not connected to computer).
The diffents arrays of 5 digits depends of entries made on the keypad and each arrays must be store in the built-in eeprom after a special key is pressed(&quot;#&quot; or &quot;*&quot;). Data is retained on eeprom for later use. After, i will need to connect the arduino on computer by usb to upload data from eeprom. I think there is need to use processing or another way but i don&#039;t know how exactly coz i&#039;m a newbie coder.
This is an example of the keypad sketch but it is to use with serial output on computer and the problem is to transform it to use it as standalone mode.
--------------------------------------------------------------------
// EventSerialKeypad.pde

#include 

const byte ROWS = 4; //four rows
const byte COLS = 4; //four columns
char keys[ROWS][COLS] = {
  {&#039;1&#039;,&#039;2&#039;,&#039;3&#039;,&#039;A&#039;},
  {&#039;4&#039;,&#039;5&#039;,&#039;6&#039;,&#039;B&#039;},
  {&#039;7&#039;,&#039;8&#039;,&#039;9&#039;,&#039;C&#039;},
  {&#039;#&#039;,&#039;0&#039;,&#039;*&#039;,&#039;D&#039;}
};
byte rowPins[ROWS] = {2,3,4,5}; //connect to the row pinouts of the keypad
byte colPins[COLS] = {6,7,8,9}; //connect to the column pinouts of the keypad

Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
byte ledPin = 13; 

boolean blink = false;

void setup(){
  Serial.begin(9600);
  pinMode(ledPin, OUTPUT);      // sets the digital pin as output
  digitalWrite(ledPin, HIGH);   // sets the LED on
  keypad.addEventListener(keypadEvent); //add an event listener for this keypad
}
  
void loop(){
  char key = keypad.getKey();
  
  if (key != NO_KEY) {
    Serial.println(key);
  }
  if (blink){
    digitalWrite(ledPin,!digitalRead(ledPin));
    delay(100);
  }
}

//take care of some special events
void keypadEvent(KeypadEvent key){
  switch (keypad.getState()){
    case PRESSED:
      switch (key){
        case &#039;#&#039;: digitalWrite(ledPin,!digitalRead(ledPin)); break;
        case &#039;*&#039;: 
          digitalWrite(ledPin,!digitalRead(ledPin));
        break;
      }
    break;
    case RELEASED:
      switch (key){
        case &#039;*&#039;: 
          digitalWrite(ledPin,!digitalRead(ledPin));
          blink = false;
        break;
      }
    break;
    case HOLD:
      switch (key){
        case &#039;*&#039;: blink = true; break;
      }
    break;
  }
}
---------------------------------------------------------------------</description>
		<content:encoded><![CDATA[<p>hi Gus, first, thank you for your quick reply.<br />
Yes you are right i don&#8217;t describe properly.<br />
I&#8217;m using keypad library with arduino but in standalone mode with battery (not connected to computer).<br />
The diffents arrays of 5 digits depends of entries made on the keypad and each arrays must be store in the built-in eeprom after a special key is pressed(&#8220;#&#8221; or &#8220;*&#8221;). Data is retained on eeprom for later use. After, i will need to connect the arduino on computer by usb to upload data from eeprom. I think there is need to use processing or another way but i don&#8217;t know how exactly coz i&#8217;m a newbie coder.<br />
This is an example of the keypad sketch but it is to use with serial output on computer and the problem is to transform it to use it as standalone mode.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
// EventSerialKeypad.pde</p>
<p>#include </p>
<p>const byte ROWS = 4; //four rows<br />
const byte COLS = 4; //four columns<br />
char keys[ROWS][COLS] = {<br />
  {&#8217;1&#8242;,&#8217;2&#8242;,&#8217;3&#8242;,&#8217;A'},<br />
  {&#8217;4&#8242;,&#8217;5&#8242;,&#8217;6&#8242;,&#8217;B'},<br />
  {&#8217;7&#8242;,&#8217;8&#8242;,&#8217;9&#8242;,&#8217;C'},<br />
  {&#8216;#&#8217;,&#8217;0&#8242;,&#8217;*',&#8217;D'}<br />
};<br />
byte rowPins[ROWS] = {2,3,4,5}; //connect to the row pinouts of the keypad<br />
byte colPins[COLS] = {6,7,8,9}; //connect to the column pinouts of the keypad</p>
<p>Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );<br />
byte ledPin = 13; </p>
<p>boolean blink = false;</p>
<p>void setup(){<br />
  Serial.begin(9600);<br />
  pinMode(ledPin, OUTPUT);      // sets the digital pin as output<br />
  digitalWrite(ledPin, HIGH);   // sets the LED on<br />
  keypad.addEventListener(keypadEvent); //add an event listener for this keypad<br />
}</p>
<p>void loop(){<br />
  char key = keypad.getKey();</p>
<p>  if (key != NO_KEY) {<br />
    Serial.println(key);<br />
  }<br />
  if (blink){<br />
    digitalWrite(ledPin,!digitalRead(ledPin));<br />
    delay(100);<br />
  }<br />
}</p>
<p>//take care of some special events<br />
void keypadEvent(KeypadEvent key){<br />
  switch (keypad.getState()){<br />
    case PRESSED:<br />
      switch (key){<br />
        case &#8216;#&#8217;: digitalWrite(ledPin,!digitalRead(ledPin)); break;<br />
        case &#8216;*&#8217;:<br />
          digitalWrite(ledPin,!digitalRead(ledPin));<br />
        break;<br />
      }<br />
    break;<br />
    case RELEASED:<br />
      switch (key){<br />
        case &#8216;*&#8217;:<br />
          digitalWrite(ledPin,!digitalRead(ledPin));<br />
          blink = false;<br />
        break;<br />
      }<br />
    break;<br />
    case HOLD:<br />
      switch (key){<br />
        case &#8216;*&#8217;: blink = true; break;<br />
      }<br />
    break;<br />
  }<br />
}<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: angus</title>
		<link>http://projectgus.com/2010/07/eeprom-access-with-arduino/comment-page-1/#comment-666</link>
		<dc:creator>angus</dc:creator>
		<pubDate>Thu, 29 Jul 2010 23:44:36 +0000</pubDate>
		<guid isPermaLink="false">http://projectgus.com/?p=316#comment-666</guid>
		<description>Hi 13oR,

So this is a bit tricky because, as I said above, one of the bigger limitations of this technique is that you can&#039;t do dynamic access to the EEPROM using a variable (ie array indexing).

You haven&#039;t said exactly what datatype you want to save, but if it&#039;s a small array (ie 5 integers) then you can load/save the entire array from EEPROM in one hit. This means holding the entire array in RAM, so it won&#039;t work if 
it&#039;s a lot of data.

This code compiles but I haven&#039;t tested it: http://gist.github.com/499528 

However, if you only need to load/store 5 of the same datatype, and nothing else, then you may really be better off using one of the other techniques described at the top of the post.

Hth.</description>
		<content:encoded><![CDATA[<p>Hi 13oR,</p>
<p>So this is a bit tricky because, as I said above, one of the bigger limitations of this technique is that you can&#8217;t do dynamic access to the EEPROM using a variable (ie array indexing).</p>
<p>You haven&#8217;t said exactly what datatype you want to save, but if it&#8217;s a small array (ie 5 integers) then you can load/save the entire array from EEPROM in one hit. This means holding the entire array in RAM, so it won&#8217;t work if<br />
it&#8217;s a lot of data.</p>
<p>This code compiles but I haven&#8217;t tested it: <a href="http://gist.github.com/499528" rel="nofollow">http://gist.github.com/499528</a> </p>
<p>However, if you only need to load/store 5 of the same datatype, and nothing else, then you may really be better off using one of the other techniques described at the top of the post.</p>
<p>Hth.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: 13oR</title>
		<link>http://projectgus.com/2010/07/eeprom-access-with-arduino/comment-page-1/#comment-520</link>
		<dc:creator>13oR</dc:creator>
		<pubDate>Sun, 25 Jul 2010 13:32:56 +0000</pubDate>
		<guid isPermaLink="false">http://projectgus.com/?p=316#comment-520</guid>
		<description>hi,
Nice work ...
So i have a problem to store int array on eeprom.
I&#039;m using arduino duemilanove and keypad library http://www.arduino.cc/playground/Main/KeypadTutorial.
How to save different array of 5 elements on arduino eeprom by using keypad entry?
THANKS.</description>
		<content:encoded><![CDATA[<p>hi,<br />
Nice work &#8230;<br />
So i have a problem to store int array on eeprom.<br />
I&#8217;m using arduino duemilanove and keypad library <a href="http://www.arduino.cc/playground/Main/KeypadTutorial" rel="nofollow">http://www.arduino.cc/playground/Main/KeypadTutorial</a>.<br />
How to save different array of 5 elements on arduino eeprom by using keypad entry?<br />
THANKS.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

