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]. To view this discussion on the web visit https://groups.google.com/d/msgid/jallib/64b88eb5-9fea-4138-b48a-0463f27a40e4n%40googlegroups.com.
