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.

Reply via email to