Ah, OK, I see: define callbacks' prototypes in ISR lib, and in client code: include ISR lib, then "implement" callbacks ? That would be nice, but I wonder how wrong it would be if no callbacks are implemented. Does the compiler say something ? I'll try.
Thanks Seb 2009/1/6 Joep Suijs <[email protected]> > > couldn't you do it the other way around: define the callback > procedures in the lib code? > > 2009/1/6, Sebastien Lelong <[email protected]>: > > > > but you'd need to define them on the client code, right ? before > > defining callbacks ? not an option... > > > > seb > > > > 2009/1/6, Joep Suijs <[email protected]>: > > > > > > That's why you have prototypes (tnx Kyle!) > > > > > > Joep > > > > > > 2009/1/6, Sebastien Lelong <[email protected]>: > > >> > > >> Hi, > > >> > > >> > > > >> > > > >> > > 1. I've written two libs: i2c_hw_slave.jal and > i2c_hw_slave_isr.jal. > > >> Only > > >> > > i2c_hw_slave_isr.jal (the ISR) is required by client code. I could > > >> > > have > > >> merge > > >> > > them, but I thought it might be useful to keep the init/read/write > > >> functions > > >> > > apart from ISR, for other purpose (like implementing a i2c slave, > but > > >> not > > >> > > using states). What's your point ? > > >> > I think this is a bit confusing for users, an other file with > similar > > >> > code - what should they choose... > > >> > I think it is better to have one file that contains the required > code. > > >> [...] > > >> > > >> Well, I was wrong ! Two libraries are needed because: > > >> > > >> - before including the ISR, callbacks must be defined > > >> - some callbacks need to i2c_hw_slave_read or i2c_hw_slave_write > > >> > > >> If those procedures are defined in a unique lib, which also contains > the > > >> ISR, there is a circular dependency: you can't include one unique ISR > lib > > >> to > > >> get those func to define your callbacks, because you callbacks must be > > >> defined before including one unique ISR lib. > > >> > > >> So I must kept them the way they are: > > >> > > >> - i2c_hw_slave: common i2c slave procedures > > >> - i2c_hw_slave_isr.jal: ISR related stuff > > >> > > >> This also separate things which are ISR related from things which > aren't > > >> (yeah, I like when things are in the correct place :)) > > >> > > >> > > >> Cheers, > > >> Seb > > >> -- > > >> Sébastien Lelong > > >> > > >> http://www.sirloon.net > > >> http://sirbot.org > > >> > > >> > > > >> > > > > > > > > > > > > > > > > -- > > Sébastien Lelong > > http://www.sirloon.net > > http://sirbot.org > > > > > > > > > > > -- Sébastien Lelong http://www.sirloon.net http://sirbot.org --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "jallib" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/jallib?hl=en -~----------~----~----~----~------~----~------~--~---
