<br><font size=2 face="sans-serif">Harald,</font>
<br>
<br><font size=2 face="sans-serif">Thankyou for replying yet again. Sorry for not getting back earlier, but my e-mail was down on Thursday, I took Friday off to spend some time with my wife, and Monday was a public holiday. It's such a tough life here!</font>
<br>
<br><font size=2 face="sans-serif">Since I last wrote I realised there was a byte version of what I was talking about. You actually used it in your example. It's form is</font>
<br><font size=2><tt>        val_8  = PRG_RDB( &byte_array  [ ii ] );</tt></font>
<br>
<br><font size=2 face="sans-serif">What I was wondering was if there were 16 bit and 32 bit versions of this routine. Rather than the cumbersome names I used before, I now suggest the following</font>
<br><font size=2><tt>        val_16 = PRG_R16( &ushort_array[ ii ] );</tt></font>
<br><font size=2><tt>        val_32 = PRG_R32( &ulong_array [ ii ] );</tt></font>
<br>
<br><font size=2 face="sans-serif">Cheers,<br>
Peter S<br>
<br>
Peter Scandrett<br>
Engineering Systems Department<br>
ALSTOM Australia Limited<br>
3 Bridge Street, Pymble, 2073, Australia<br>
Phone (+612) 94 88 49 11      Fax (+612) 94 88 49 00<br>
peter.scandrett@transport.alstom.com</font>
<br>
<br>
<br>
<table width=100%>
<tr valign=top>
<td>
<td><font size=1 face="sans-serif"><b>Harald Kipp <harald.kipp@egnite.de></b></font>
<br><font size=1 face="sans-serif">Sent by: en-nut-discussion-admin@egnite.de</font>
<p><font size=1 face="sans-serif">07-10-2002 07:38 pm</font>
<br><font size=1 face="sans-serif">Please respond to en-nut-discussion</font>
<br>
<td><font size=1 face="Arial">        </font>
<br><font size=1 face="sans-serif">        To:        en-nut-discussion@egnite.de</font>
<br><font size=1 face="sans-serif">        cc:        (bcc: Peter Scandrett/AUMIL01/Transport/ALSTOM)</font>
<br><font size=1 face="sans-serif">        Subject:        Re[2]: [En-Nut-Discussion] Reading Program Memory Arrays</font></table>
<br>
<br>
<br>
<br><font size=2><tt>><br>
>What would be fantastic would be efficient routines to do the following.<br>
>         u_char      uchar_P(  u_char  *p_uchar  );<br>
>         u_short     ushort_P( u_short *p_ushort );<br>
>         u_long      ulong_P(  u_long  *p_ulong  );<br>
><br>
>Then it would be possible to do something like this.<br>
>         a = b + ushort_P( &c ) + d;<br>
>This is a lot easier to read and understand.<br>
</tt></font>
<br><font size=2><tt>There has been a discussion in the AVRGCC mailing list,<br>
wether the compiler should be able to automatically<br>
detect ROM based variables and generate the proper<br>
code.<br>
</tt></font>
<br><font size=2><tt>I'm not sure about such a feature. One advantage<br>
of C is, that it does _not_ hide everything. The<br>
language is not only a high level language but also<br>
a highly portable assembly language.<br>
</tt></font>
<br><font size=2><tt>Harald<br>
</tt></font>
<br><font size=2><tt>_______________________________________________<br>
En-Nut-Discussion mailing list<br>
En-Nut-Discussion@egnite.de<br>
http://www.egnite.de/mailman/listinfo/en-nut-discussion</tt></font>
<br><font size=2 face="sans-serif"><br>
<br>
<br>
CONFIDENTIALITY: This e-mail and any attachments are confidential and may be privileged. If you are not a named recipient, please notify the sender immediately and do not disclose the contents to another person, use it for any purpose or store or copy the information in any medium.</font>
<br>