Hi Matt, You are completely right, I totally forgot about the addresses. I am solving a problem that is not a problem.
@[email protected]<mailto:[email protected]> You do not have to use 2 libraries. Just use the IIC hardware library and connect both devices to the same IIC lines. The address of the IIC devices make them unique and they are both slave devices so that will work. Kind regards, Rob ________________________________ Van: [email protected] <[email protected]> namens Matthew Schinkel <[email protected]> Verzonden: dinsdag 15 februari 2022 00:09 Aan: jallib <[email protected]> Onderwerp: Re: [jallib] Re: Not able to use both sw IIC and hw IIC due to procedures having the same name. Hi Rob, I was suggesting to change the procedure names and use aliases after the include. This does solve the issue. As I mentioned, See 18f4620_sd_card.jal how the serial port is used. Changing these lines to serial_sw makes the sample and any further includes use serial sw. -- some aliases so it is easy to change from serial hw to serial sw. alias serial_write is serial_hw_write alias serial_read is serial_hw_read alias serial_data is serial_hw_data alias serial_data_available is serial_hw_data_available Although i2c is meant to support multiple devices, you may want another port because: - you have too many devices and would rather not add components - you want to use two of the same device that have the same address Matt. On Monday, February 14, 2022 at 12:46:39 PM UTC-5 [email protected] wrote: Hi Matt, Aliases do not solve the problem. The procedure name still exists and so including both iic_software and iic_hardware will lead to a 'function already defined' error. If I am right an alias is only a different name for the same thing but with an alias you can use both the alias and the original name, correct? Next to that iic_software uses function prototypes and so the alias has to be after the function prototype but then the function is already mentioned. So the only way to solve this is - like Kiste mentioned - a find replace of iic_ by iic_sw for software and iic_hw for hardware iic. It is then up to the JAL user to either do the same or add an alias 😉. Please correct me if I am wrong. Kind regards, Rob ________________________________ Van: [email protected] <[email protected]> namens Matthew Schinkel <[email protected]> Verzonden: zondag 13 februari 2022 22:47 Aan: jallib <[email protected]> Onderwerp: [jallib] Re: Not able to use both sw IIC and hw IIC due to procedures having the same name. Hi Rob, I agree. Change the i2c library variable and procedure names in both libs. If there are any libraries using the i2c lib, they should not need to be changed. Instead, add aliases in the samples like what I've done for serial in many samples. In 18f4620_sd_card.jal: -- some aliases so it is easy to change from serial hw to serial sw. alias serial_write is serial_hw_write alias serial_read is serial_hw_read alias serial_data is serial_hw_data alias serial_data_available is serial_hw_data_available This allows the user to switch between hardware and software libraries, or use both. I don't think there is any need for a legacy library when the user can just add some alias lines to their sample. They'll need to change their sample either way. Thanks, Matt. On Sunday, February 13, 2022 at 1:04:18 PM UTC-5 [email protected] wrote: Hi all, I got an e-mail from a Jallib user who wants to use both IIC software and IIC hardware. This is, however, not possible because both libraries use the same names in procedures and functions. For USART the convention 'sw', 'hw' and 'hw2' is used in the procedures. The problem is easily fixed by adding _sw_ to the software iic procedures. I did this for this Jallib member and gave him a modified version of i2c_software. But when changing this and adding this to Jallib then all sample files that use i2c_software should be changed and members that have made projects with this library should modify their programs too. Next to that, for consistency, the i2c_hardware should also get the addition (in procedure names) _hw_. What do you think? Should this be changed and if so, how? 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 view this discussion on the web visit https://groups.google.com/d/msgid/jallib/1525e85a-c620-474a-8423-24751c38359cn%40googlegroups.com<https://groups.google.com/d/msgid/jallib/1525e85a-c620-474a-8423-24751c38359cn%40googlegroups.com?utm_medium=email&utm_source=footer>. -- 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]<mailto:[email protected]>. To view this discussion on the web visit https://groups.google.com/d/msgid/jallib/64b88eb5-9fea-4138-b48a-0463f27a40e4n%40googlegroups.com<https://groups.google.com/d/msgid/jallib/64b88eb5-9fea-4138-b48a-0463f27a40e4n%40googlegroups.com?utm_medium=email&utm_source=footer>. -- 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 view this discussion on the web visit https://groups.google.com/d/msgid/jallib/DB6P195MB0183410685AA2AAB158B0AA9E6349%40DB6P195MB0183.EURP195.PROD.OUTLOOK.COM.
