Hi Matt, Thanks for the hint, will do. Yes, when I initially saw it I was wondering why it worked but as you said unused variables are removed. Clever trick (and a great compiler).
Kind regards, Rob On Wednesday, January 30, 2019 at 2:11:09 AM UTC+1, Matthew Schinkel wrote: > > ok, that sounds good. > > I'm sure your aware, the library is based on unused variables being > removed, and IF statements with constants on both sides being simplified by > the compiler to saves space. > > As a check when your done, compile a working sample with the original > library and check the space used, then compile again with your changes. the > space used should be the same. > > I remember it was an interesting library to write with all those lines > copied over and over. Be careful not to make any mistakes. I had some > method so I could do it with less chance of error. > > Matt. > > On Tuesday, January 29, 2019 at 1:46:00 PM UTC-5, Rob Jansen wrote: >> >> Hi Matt, >> >> I noticed the library has already almost 900 lines of code. If I add the >> other part it becomes more than 2000 lines of code which make maintenance >> more difficult. >> >> So I have the following proposal: >> 1) I rename large_array_1 to large_array_1_PIC16 >> 2) I create a new library large_array_1_PIC14H >> 3) I create a new library called large_array_1 that includes one of the >> two other files based on the target cpu. >> >> OK? >> >> Kind regards, >> >> Rob >> >> >> >> On Tuesday, January 29, 2019 at 12:45:55 AM UTC+1, Matthew Schinkel wrote: >>> >>> Hi Rob, I'm ok with you updating the library. I like your first option: >>> 1) I check for the core type and make a separate part for those types of >>> cores using arrays of 64 bytes. >>> >>> Matt. >>> >>> On Monday, January 28, 2019 at 4:58:58 PM UTC-5, Rob Jansen wrote: >>>> >>>> Hi Matt, >>>> >>>> I need a large array for one of my applications and ran into the large >>>> array library which does exactly what I need. I am using a PIC16F1976 and >>>> I >>>> constantly ran out of data memory, even when defining an array of 200 >>>> bytes. >>>> >>>> I had a look at the source code and I expect that this is caused by the >>>> fact that you define smaller arrays of 256 bytes but the PIC16F1976 does >>>> not have banks of that size but banks of at most 80 bytes. >>>> >>>> Should I make a new large array library or should I try to adapt the >>>> current libraries so that they also work for chips that have banks of 80 >>>> bytes, so arrays of 64 bytes would be the easiest to work with. >>>> >>>> If I add it to the existing libraries there are various options: >>>> 1) I check for the core type and make a separate part for those types >>>> of cores using arrays of 64 bytes. >>>> 2) Rewrite the library so that it is based on arrays of 64 bytes >>>> instead of 256 bytes and add more arrays to make it fit the original size. >>>> >>>> Any suggestions? >>>> >>>> Thanks. >>>> >>>> Kind regards, >>>> >>>> Rob >>>> >>>> >>>> -- You received this message because you are subscribed to the Google Groups "jallib" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/jallib. For more options, visit https://groups.google.com/d/optout.
