Re: [Owfs-developers] Add support for additional hardware bus master
Just about done, but I'm not sure how to handle the clock divisor in the DS1WM. It needs the actual clock speed input to the DS1WM. Is that standard or must I ask the use to supply it. I thought of self-discovery -- trying different divisors and timing the actual reset pulse produced. Paul On Mon, Feb 23, 2015 at 2:25 PM, Martin Rapavy martin.rap...@kistler.com wrote: I agree, it would make much more sense to fork your implementation of ds1wm. Could you estimate how long would it take you? I'm quite in a hurry with my project. Or could you perhaps answer the question how OWFS handles updates on that master structures. I suppose this will be essential to extend you DS1WM implementation to match my bus master (which is basically DS1WM with output multiplexer supporting multiple channels/buses). Is there any preliminary codebase I could start working on? Thank you for your support. Best regards, Martin -- *From:* Paul Alfille [paul.alfi...@gmail.com] *Sent:* Monday, February 23, 2015 7:18 PM *To:* owfs-developers *Subject:* Re: [Owfs-developers] Add support for additional hardware bus master I'm working on the ds1wm support. Just got example code from Maxim. How about basing you modifications from that. Paul On Feb 23, 2015 10:46 AM, Martin Rapavy martin.rap...@kistler.com wrote: Hello Paul, so far I came to following conclusions about the parts of owlib which need to be extended in order to support new bus master type: · Write new module (.c file) which exports a detect function ( K1WM_detect in my case) o I suppose this is the configuration/connection function you mentioned earlier o it creates mmap for the bus master device o it sets following pointers to functions inside interface_routines structure · Add new “master structure“ (master_uio) into ow_master.h which holds context of my bus master (active channel, base address of mentioned 6 registers, pointer to mmap) and add that structure into master_union · Add some command line / configuration file parameters (up to now not sure where exactly, but I also didn’t pay much attention to it yet) As for the funtions which are pointed from interface_routines structure I implemented following: · detect (K1WM_detect) · reset – this resets the 1wire bus identified by channel stored in my master_uio structure · next_both – hardware assisted search rom (do you call this function repeatedly untill it returns search_done? So one execution of the function should set return one ROM in the device_search structure?) · sendback_data – transmit/receive of data pointed by its parameters · close – destroys memory mapping to the bus master Is that enough or should I implement more functions from that interface? What exactly is redetect supposed to do (I guess it’s different from close/detect combo)? I’m also not sure how to setup the flags attribute of interface_routines and bundling_length. As I said I expect the context of each call (like active channel, pointer to device memory map, etc.) to be stored in my master_uio structure. I suppose OWFS needs to know how to setup the context before calling functions from my module – could you please explain me how this should be done? Thanks in advance, Martin *From:* Paul Alfille [mailto:paul.alfi...@gmail.com] *Sent:* Friday, February 20, 2015 3:32 PM *To:* OWFS (One-wire file system) discussion and help *Subject:* Re: [Owfs-developers] Add support for additional hardware bus master Optimally the number of channels should be auto-discovered. I like to make the configuration as automatic as possible. So if the hardware can be safely probed for the number of channels, or announces the number of channels, that would be best. Otherwise a command line option would work.Perhaps: --rapavybus=0xf000:6 The syntax i fairly arbitrary, but it should be relatively intuitive or consistent. Paul On Fri, Feb 20, 2015 at 7:47 AM, Martin Rapavy martin.rap...@kistler.com wrote: Yes, 6 registers in consecutive memory locations (offests 0 .. 5). I suppose we need to pass the base address as command line / configuration file parameter. How does owfs treat channels? Do we need to pass number of channels as command line / configuration file parameter as well? Thanks, Martin *From:* Paul Alfille [mailto:paul.alfi...@gmail.com] *Sent:* Friday, February 20, 2015 1:43 PM *To:* owfs-developers *Subject:* Re: [Owfs-developers] Add support for additional hardware bus master Do you map the 6 control registers to consecutive memory locations? Would we pass that location in a command line option? On Feb 19, 2015 12:16 PM, Jan Kandziora j...@gmx.de wrote: Am 19.02.2015 um 08:59 schrieb Martin Rapavy: Hi Paul, thanks for briefing me on the architecture of OWFS. My master chip has
Re: [Owfs-developers] Add support for additional hardware bus master
Ok the DS1WM preliminary version is in the git repository. https://sourceforge.net/p/owfs/code/ci/master/tree/ 1. I assume a 10MHz clock (not sure what to do with this option -- I guess we could have it a command line option but that's messy for users). 2. The tunable parameters (long-line and pulse presence) aren't yet exposed. 3. Untested -- no hardware. 4. Assumes registers mapped and interrupt pin not wired up. 5. Conservative timing choices and little polling to reduce CPU overhead. Incidentally, I'm suspicious of the w1 kernel module support for the DS1WM. They don't even have the datasheet pinouts correct in the code. Paul Alfille On Tue, Feb 24, 2015 at 7:17 AM, Paul Alfille paul.alfi...@gmail.com wrote: Just about done, but I'm not sure how to handle the clock divisor in the DS1WM. It needs the actual clock speed input to the DS1WM. Is that standard or must I ask the use to supply it. I thought of self-discovery -- trying different divisors and timing the actual reset pulse produced. Paul On Mon, Feb 23, 2015 at 2:25 PM, Martin Rapavy martin.rap...@kistler.com wrote: I agree, it would make much more sense to fork your implementation of ds1wm. Could you estimate how long would it take you? I'm quite in a hurry with my project. Or could you perhaps answer the question how OWFS handles updates on that master structures. I suppose this will be essential to extend you DS1WM implementation to match my bus master (which is basically DS1WM with output multiplexer supporting multiple channels/buses). Is there any preliminary codebase I could start working on? Thank you for your support. Best regards, Martin -- *From:* Paul Alfille [paul.alfi...@gmail.com] *Sent:* Monday, February 23, 2015 7:18 PM *To:* owfs-developers *Subject:* Re: [Owfs-developers] Add support for additional hardware bus master I'm working on the ds1wm support. Just got example code from Maxim. How about basing you modifications from that. Paul On Feb 23, 2015 10:46 AM, Martin Rapavy martin.rap...@kistler.com wrote: Hello Paul, so far I came to following conclusions about the parts of owlib which need to be extended in order to support new bus master type: · Write new module (.c file) which exports a detect function ( K1WM_detect in my case) o I suppose this is the configuration/connection function you mentioned earlier o it creates mmap for the bus master device o it sets following pointers to functions inside interface_routines structure · Add new “master structure“ (master_uio) into ow_master.h which holds context of my bus master (active channel, base address of mentioned 6 registers, pointer to mmap) and add that structure into master_union · Add some command line / configuration file parameters (up to now not sure where exactly, but I also didn’t pay much attention to it yet) As for the funtions which are pointed from interface_routines structure I implemented following: · detect (K1WM_detect) · reset – this resets the 1wire bus identified by channel stored in my master_uio structure · next_both – hardware assisted search rom (do you call this function repeatedly untill it returns search_done? So one execution of the function should set return one ROM in the device_search structure?) · sendback_data – transmit/receive of data pointed by its parameters · close – destroys memory mapping to the bus master Is that enough or should I implement more functions from that interface? What exactly is redetect supposed to do (I guess it’s different from close/detect combo)? I’m also not sure how to setup the flags attribute of interface_routines and bundling_length. As I said I expect the context of each call (like active channel, pointer to device memory map, etc.) to be stored in my master_uio structure. I suppose OWFS needs to know how to setup the context before calling functions from my module – could you please explain me how this should be done? Thanks in advance, Martin *From:* Paul Alfille [mailto:paul.alfi...@gmail.com] *Sent:* Friday, February 20, 2015 3:32 PM *To:* OWFS (One-wire file system) discussion and help *Subject:* Re: [Owfs-developers] Add support for additional hardware bus master Optimally the number of channels should be auto-discovered. I like to make the configuration as automatic as possible. So if the hardware can be safely probed for the number of channels, or announces the number of channels, that would be best. Otherwise a command line option would work.Perhaps: --rapavybus=0xf000:6 The syntax i fairly arbitrary, but it should be relatively intuitive or consistent. Paul On Fri, Feb 20, 2015 at 7:47 AM, Martin Rapavy martin.rap...@kistler.com wrote: Yes, 6 registers in consecutive memory locations (offests 0 .. 5). I suppose we need to pass
Re: [Owfs-developers] Add support for additional hardware bus master
Hello Paul, so far I came to following conclusions about the parts of owlib which need to be extended in order to support new bus master type: · Write new module (.c file) which exports a detect function (K1WM_detect in my case) o I suppose this is the configuration/connection function you mentioned earlier o it creates mmap for the bus master device o it sets following pointers to functions inside interface_routines structure · Add new “master structure“ (master_uio) into ow_master.h which holds context of my bus master (active channel, base address of mentioned 6 registers, pointer to mmap) and add that structure into master_union · Add some command line / configuration file parameters (up to now not sure where exactly, but I also didn’t pay much attention to it yet) As for the funtions which are pointed from interface_routines structure I implemented following: · detect (K1WM_detect) · reset – this resets the 1wire bus identified by channel stored in my master_uio structure · next_both – hardware assisted search rom (do you call this function repeatedly untill it returns search_done? So one execution of the function should set return one ROM in the device_search structure?) · sendback_data – transmit/receive of data pointed by its parameters · close – destroys memory mapping to the bus master Is that enough or should I implement more functions from that interface? What exactly is redetect supposed to do (I guess it’s different from close/detect combo)? I’m also not sure how to setup the flags attribute of interface_routines and bundling_length. As I said I expect the context of each call (like active channel, pointer to device memory map, etc.) to be stored in my master_uio structure. I suppose OWFS needs to know how to setup the context before calling functions from my module – could you please explain me how this should be done? Thanks in advance, Martin From: Paul Alfille [mailto:paul.alfi...@gmail.com] Sent: Friday, February 20, 2015 3:32 PM To: OWFS (One-wire file system) discussion and help Subject: Re: [Owfs-developers] Add support for additional hardware bus master Optimally the number of channels should be auto-discovered. I like to make the configuration as automatic as possible. So if the hardware can be safely probed for the number of channels, or announces the number of channels, that would be best. Otherwise a command line option would work.Perhaps: --rapavybus=0xf000:6 The syntax i fairly arbitrary, but it should be relatively intuitive or consistent. Paul On Fri, Feb 20, 2015 at 7:47 AM, Martin Rapavy martin.rap...@kistler.commailto:martin.rap...@kistler.com wrote: Yes, 6 registers in consecutive memory locations (offests 0 .. 5). I suppose we need to pass the base address as command line / configuration file parameter. How does owfs treat channels? Do we need to pass number of channels as command line / configuration file parameter as well? Thanks, Martin From: Paul Alfille [mailto:paul.alfi...@gmail.commailto:paul.alfi...@gmail.com] Sent: Friday, February 20, 2015 1:43 PM To: owfs-developers Subject: Re: [Owfs-developers] Add support for additional hardware bus master Do you map the 6 control registers to consecutive memory locations? Would we pass that location in a command line option? On Feb 19, 2015 12:16 PM, Jan Kandziora j...@gmx.demailto:j...@gmx.de wrote: Am 19.02.2015 um 08:59 schrieb Martin Rapavy: Hi Paul, thanks for briefing me on the architecture of OWFS. My master chip has almost exactly the same register interface as Dallas DS1WM (http://datasheets.maximintegrated.com/en/ds/DS1WM.pdf). It only differs in one register: Clock divisor register (0x04) is missing and instead there’s Output Channel Multiplexer register on the same address (0x04). This register is used to enable handling of multiple channels (1wire busses) by single chip. Ohh, maybe we get native support for DS1WM? Swt! Kind regards Jan -- Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server from Actuate! Instantly Supercharge Your Business Reports and Dashboards with Interactivity, Sharing, Native Excel Exports, App Integration more Get technology previously reserved for billion-dollar corporations, FREE http://pubads.g.doubleclick.net/gampad/clk?id=190641631iu=/4140/ostg.clktrk ___ Owfs-developers mailing list Owfs-developers@lists.sourceforge.netmailto:Owfs-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/owfs-developers -- Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server from Actuate! Instantly Supercharge Your Business Reports and Dashboards with Interactivity, Sharing, Native Excel Exports, App
Re: [Owfs-developers] Add support for additional hardware bus master
I agree, it would make much more sense to fork your implementation of ds1wm. Could you estimate how long would it take you? I'm quite in a hurry with my project. Or could you perhaps answer the question how OWFS handles updates on that master structures. I suppose this will be essential to extend you DS1WM implementation to match my bus master (which is basically DS1WM with output multiplexer supporting multiple channels/buses). Is there any preliminary codebase I could start working on? Thank you for your support. Best regards, Martin From: Paul Alfille [paul.alfi...@gmail.com] Sent: Monday, February 23, 2015 7:18 PM To: owfs-developers Subject: Re: [Owfs-developers] Add support for additional hardware bus master I'm working on the ds1wm support. Just got example code from Maxim. How about basing you modifications from that. Paul On Feb 23, 2015 10:46 AM, Martin Rapavy martin.rap...@kistler.commailto:martin.rap...@kistler.com wrote: Hello Paul, so far I came to following conclusions about the parts of owlib which need to be extended in order to support new bus master type: • Write new module (.c file) which exports a detect function (K1WM_detect in my case) o I suppose this is the configuration/connection function you mentioned earlier o it creates mmap for the bus master device o it sets following pointers to functions inside interface_routines structure • Add new “master structure“ (master_uio) into ow_master.h which holds context of my bus master (active channel, base address of mentioned 6 registers, pointer to mmap) and add that structure into master_union • Add some command line / configuration file parameters (up to now not sure where exactly, but I also didn’t pay much attention to it yet) As for the funtions which are pointed from interface_routines structure I implemented following: • detect (K1WM_detect) • reset – this resets the 1wire bus identified by channel stored in my master_uio structure • next_both – hardware assisted search rom (do you call this function repeatedly untill it returns search_done? So one execution of the function should set return one ROM in the device_search structure?) • sendback_data – transmit/receive of data pointed by its parameters • close – destroys memory mapping to the bus master Is that enough or should I implement more functions from that interface? What exactly is redetect supposed to do (I guess it’s different from close/detect combo)? I’m also not sure how to setup the flags attribute of interface_routines and bundling_length. As I said I expect the context of each call (like active channel, pointer to device memory map, etc.) to be stored in my master_uio structure. I suppose OWFS needs to know how to setup the context before calling functions from my module – could you please explain me how this should be done? Thanks in advance, Martin From: Paul Alfille [mailto:paul.alfi...@gmail.commailto:paul.alfi...@gmail.com] Sent: Friday, February 20, 2015 3:32 PM To: OWFS (One-wire file system) discussion and help Subject: Re: [Owfs-developers] Add support for additional hardware bus master Optimally the number of channels should be auto-discovered. I like to make the configuration as automatic as possible. So if the hardware can be safely probed for the number of channels, or announces the number of channels, that would be best. Otherwise a command line option would work.Perhaps: --rapavybus=0xf000:6 The syntax i fairly arbitrary, but it should be relatively intuitive or consistent. Paul On Fri, Feb 20, 2015 at 7:47 AM, Martin Rapavy martin.rap...@kistler.commailto:martin.rap...@kistler.com wrote: Yes, 6 registers in consecutive memory locations (offests 0 .. 5). I suppose we need to pass the base address as command line / configuration file parameter. How does owfs treat channels? Do we need to pass number of channels as command line / configuration file parameter as well? Thanks, Martin From: Paul Alfille [mailto:paul.alfi...@gmail.commailto:paul.alfi...@gmail.com] Sent: Friday, February 20, 2015 1:43 PM To: owfs-developers Subject: Re: [Owfs-developers] Add support for additional hardware bus master Do you map the 6 control registers to consecutive memory locations? Would we pass that location in a command line option? On Feb 19, 2015 12:16 PM, Jan Kandziora j...@gmx.demailto:j...@gmx.de wrote: Am 19.02.2015 um 08:59 schrieb Martin Rapavy: Hi Paul, thanks for briefing me on the architecture of OWFS. My master chip has almost exactly the same register interface as Dallas DS1WM (http://datasheets.maximintegrated.com/en/ds/DS1WM.pdf). It only differs in one register: Clock divisor register (0x04) is missing and instead there’s Output Channel Multiplexer register on the same address (0x04). This register is used to enable handling of multiple channels (1wire busses
Re: [Owfs-developers] Add support for additional hardware bus master
Do you map the 6 control registers to consecutive memory locations? Would we pass that location in a command line option? On Feb 19, 2015 12:16 PM, Jan Kandziora j...@gmx.de wrote: Am 19.02.2015 um 08:59 schrieb Martin Rapavy: Hi Paul, thanks for briefing me on the architecture of OWFS. My master chip has almost exactly the same register interface as Dallas DS1WM (http://datasheets.maximintegrated.com/en/ds/DS1WM.pdf). It only differs in one register: Clock divisor register (0x04) is missing and instead there’s Output Channel Multiplexer register on the same address (0x04). This register is used to enable handling of multiple channels (1wire busses) by single chip. Ohh, maybe we get native support for DS1WM? Swt! Kind regards Jan -- Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server from Actuate! Instantly Supercharge Your Business Reports and Dashboards with Interactivity, Sharing, Native Excel Exports, App Integration more Get technology previously reserved for billion-dollar corporations, FREE http://pubads.g.doubleclick.net/gampad/clk?id=190641631iu=/4140/ostg.clktrk ___ Owfs-developers mailing list Owfs-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/owfs-developers -- Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server from Actuate! Instantly Supercharge Your Business Reports and Dashboards with Interactivity, Sharing, Native Excel Exports, App Integration more Get technology previously reserved for billion-dollar corporations, FREE http://pubads.g.doubleclick.net/gampad/clk?id=190641631iu=/4140/ostg.clktrk___ Owfs-developers mailing list Owfs-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/owfs-developers
Re: [Owfs-developers] Add support for additional hardware bus master
Yes, 6 registers in consecutive memory locations (offests 0 .. 5). I suppose we need to pass the base address as command line / configuration file parameter. How does owfs treat channels? Do we need to pass number of channels as command line / configuration file parameter as well? Thanks, Martin From: Paul Alfille [mailto:paul.alfi...@gmail.com] Sent: Friday, February 20, 2015 1:43 PM To: owfs-developers Subject: Re: [Owfs-developers] Add support for additional hardware bus master Do you map the 6 control registers to consecutive memory locations? Would we pass that location in a command line option? On Feb 19, 2015 12:16 PM, Jan Kandziora j...@gmx.demailto:j...@gmx.de wrote: Am 19.02.2015 um 08:59 schrieb Martin Rapavy: Hi Paul, thanks for briefing me on the architecture of OWFS. My master chip has almost exactly the same register interface as Dallas DS1WM (http://datasheets.maximintegrated.com/en/ds/DS1WM.pdf). It only differs in one register: Clock divisor register (0x04) is missing and instead there’s Output Channel Multiplexer register on the same address (0x04). This register is used to enable handling of multiple channels (1wire busses) by single chip. Ohh, maybe we get native support for DS1WM? Swt! Kind regards Jan -- Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server from Actuate! Instantly Supercharge Your Business Reports and Dashboards with Interactivity, Sharing, Native Excel Exports, App Integration more Get technology previously reserved for billion-dollar corporations, FREE http://pubads.g.doubleclick.net/gampad/clk?id=190641631iu=/4140/ostg.clktrk ___ Owfs-developers mailing list Owfs-developers@lists.sourceforge.netmailto:Owfs-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/owfs-developers -- Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server from Actuate! Instantly Supercharge Your Business Reports and Dashboards with Interactivity, Sharing, Native Excel Exports, App Integration more Get technology previously reserved for billion-dollar corporations, FREE http://pubads.g.doubleclick.net/gampad/clk?id=190641631iu=/4140/ostg.clktrk___ Owfs-developers mailing list Owfs-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/owfs-developers
Re: [Owfs-developers] Add support for additional hardware bus master
Optimally the number of channels should be auto-discovered. I like to make the configuration as automatic as possible. So if the hardware can be safely probed for the number of channels, or announces the number of channels, that would be best. Otherwise a command line option would work.Perhaps: --rapavybus=0xf000:6 The syntax i fairly arbitrary, but it should be relatively intuitive or consistent. Paul On Fri, Feb 20, 2015 at 7:47 AM, Martin Rapavy martin.rap...@kistler.com wrote: Yes, 6 registers in consecutive memory locations (offests 0 .. 5). I suppose we need to pass the base address as command line / configuration file parameter. How does owfs treat channels? Do we need to pass number of channels as command line / configuration file parameter as well? Thanks, Martin *From:* Paul Alfille [mailto:paul.alfi...@gmail.com] *Sent:* Friday, February 20, 2015 1:43 PM *To:* owfs-developers *Subject:* Re: [Owfs-developers] Add support for additional hardware bus master Do you map the 6 control registers to consecutive memory locations? Would we pass that location in a command line option? On Feb 19, 2015 12:16 PM, Jan Kandziora j...@gmx.de wrote: Am 19.02.2015 um 08:59 schrieb Martin Rapavy: Hi Paul, thanks for briefing me on the architecture of OWFS. My master chip has almost exactly the same register interface as Dallas DS1WM (http://datasheets.maximintegrated.com/en/ds/DS1WM.pdf). It only differs in one register: Clock divisor register (0x04) is missing and instead there’s Output Channel Multiplexer register on the same address (0x04). This register is used to enable handling of multiple channels (1wire busses) by single chip. Ohh, maybe we get native support for DS1WM? Swt! Kind regards Jan -- Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server from Actuate! Instantly Supercharge Your Business Reports and Dashboards with Interactivity, Sharing, Native Excel Exports, App Integration more Get technology previously reserved for billion-dollar corporations, FREE http://pubads.g.doubleclick.net/gampad/clk?id=190641631iu=/4140/ostg.clktrk ___ Owfs-developers mailing list Owfs-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/owfs-developers -- Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server from Actuate! Instantly Supercharge Your Business Reports and Dashboards with Interactivity, Sharing, Native Excel Exports, App Integration more Get technology previously reserved for billion-dollar corporations, FREE http://pubads.g.doubleclick.net/gampad/clk?id=190641631iu=/4140/ostg.clktrk ___ Owfs-developers mailing list Owfs-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/owfs-developers -- Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server from Actuate! Instantly Supercharge Your Business Reports and Dashboards with Interactivity, Sharing, Native Excel Exports, App Integration more Get technology previously reserved for billion-dollar corporations, FREE http://pubads.g.doubleclick.net/gampad/clk?id=190641631iu=/4140/ostg.clktrk___ Owfs-developers mailing list Owfs-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/owfs-developers
Re: [Owfs-developers] Add support for additional hardware bus master
I’m afraid that this hardware can’t provide autodiscover. I’m slowly getting through the structure of the sources. If you’d be so kind to provide me with the “template“ or list of all things that needs to be adapted, you mentioned earlier, I’d be greatful. Thanks, Martin From: Paul Alfille [mailto:paul.alfi...@gmail.com] Sent: Friday, February 20, 2015 3:32 PM To: OWFS (One-wire file system) discussion and help Subject: Re: [Owfs-developers] Add support for additional hardware bus master Optimally the number of channels should be auto-discovered. I like to make the configuration as automatic as possible. So if the hardware can be safely probed for the number of channels, or announces the number of channels, that would be best. Otherwise a command line option would work.Perhaps: --rapavybus=0xf000:6 The syntax i fairly arbitrary, but it should be relatively intuitive or consistent. Paul On Fri, Feb 20, 2015 at 7:47 AM, Martin Rapavy martin.rap...@kistler.commailto:martin.rap...@kistler.com wrote: Yes, 6 registers in consecutive memory locations (offests 0 .. 5). I suppose we need to pass the base address as command line / configuration file parameter. How does owfs treat channels? Do we need to pass number of channels as command line / configuration file parameter as well? Thanks, Martin From: Paul Alfille [mailto:paul.alfi...@gmail.commailto:paul.alfi...@gmail.com] Sent: Friday, February 20, 2015 1:43 PM To: owfs-developers Subject: Re: [Owfs-developers] Add support for additional hardware bus master Do you map the 6 control registers to consecutive memory locations? Would we pass that location in a command line option? On Feb 19, 2015 12:16 PM, Jan Kandziora j...@gmx.demailto:j...@gmx.de wrote: Am 19.02.2015 um 08:59 schrieb Martin Rapavy: Hi Paul, thanks for briefing me on the architecture of OWFS. My master chip has almost exactly the same register interface as Dallas DS1WM (http://datasheets.maximintegrated.com/en/ds/DS1WM.pdf). It only differs in one register: Clock divisor register (0x04) is missing and instead there’s Output Channel Multiplexer register on the same address (0x04). This register is used to enable handling of multiple channels (1wire busses) by single chip. Ohh, maybe we get native support for DS1WM? Swt! Kind regards Jan -- Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server from Actuate! Instantly Supercharge Your Business Reports and Dashboards with Interactivity, Sharing, Native Excel Exports, App Integration more Get technology previously reserved for billion-dollar corporations, FREE http://pubads.g.doubleclick.net/gampad/clk?id=190641631iu=/4140/ostg.clktrk ___ Owfs-developers mailing list Owfs-developers@lists.sourceforge.netmailto:Owfs-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/owfs-developers -- Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server from Actuate! Instantly Supercharge Your Business Reports and Dashboards with Interactivity, Sharing, Native Excel Exports, App Integration more Get technology previously reserved for billion-dollar corporations, FREE http://pubads.g.doubleclick.net/gampad/clk?id=190641631iu=/4140/ostg.clktrk ___ Owfs-developers mailing list Owfs-developers@lists.sourceforge.netmailto:Owfs-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/owfs-developers -- Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server from Actuate! Instantly Supercharge Your Business Reports and Dashboards with Interactivity, Sharing, Native Excel Exports, App Integration more Get technology previously reserved for billion-dollar corporations, FREE http://pubads.g.doubleclick.net/gampad/clk?id=190641631iu=/4140/ostg.clktrk___ Owfs-developers mailing list Owfs-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/owfs-developers
Re: [Owfs-developers] Add support for additional hardware bus master
Hi Paul, thanks for briefing me on the architecture of OWFS. My master chip has almost exactly the same register interface as Dallas DS1WM (http://datasheets.maximintegrated.com/en/ds/DS1WM.pdf). It only differs in one register: Clock divisor register (0x04) is missing and instead there’s Output Channel Multiplexer register on the same address (0x04). This register is used to enable handling of multiple channels (1wire busses) by single chip. I’ll be greatful on any further hints. Thank you, Martin From: Paul Alfille [mailto:paul.alfi...@gmail.com] Sent: Thursday, February 19, 2015 2:39 AM To: owfs-developers Subject: Re: [Owfs-developers] Add support for additional hardware bus master Adding support for a new bus-master chip is actually rather easy. OWFS only requires a few functions be supported. This is actually the point of OWFS: the bus master and slave functions are encapsulated easily. Since we support so many different devices, the level of abstraction is very precise. 1. Detection/configuration step. This includes any hardware configuration and setting up the communication channel (e.g. open the serial port and setting baud rate). 2. Sending a set of bits or bytes and reading the bus ( works for reading, too, when sending 0xFF's ). 3. Some kind of discovery to enumerate the 1-wire slaves. Often hardware assisted. 4. Optional Power bit. You'll also need to add a command line configuration option. If you can describe your bus master to me, I can easily write a rough draft that you can test and perfect. (Or send me a sample). Paul Alfille On Feb 18, 2015 3:59 PM, Martin Rapavy martin.rap...@kistler.commailto:martin.rap...@kistler.com wrote: Am 18.02.2015 um 21:19 schrieb Martin Rapavy: I was exactly in favor of avoiding w1 because of bus polling. It is important for me not to use the bus frequently (the wire is also shared for reading out data from sensors). Do you think that the w1 polling might be turned off using w1_master_search (w1 sysfs interface)? That's exactly the purpose of this node. OWFS sends an explicit search command through the netlink socket to the w1 driver at module/owlib/src/c/ow_w1.c, line 112ff so turning off w1_master_search only affects other services which rely on it. BUT: depending on your hardware, hot-plugging a battery may already rely on this! It's a bit of a pity this is a global flag and cannot be turned off by bus. Check your hardware whether it has other services on another onewire. Second pitfall: if your hardware has several buses, the w1 driver will all join them into one. I guess this is really a deal-breaker. There really might be multiple buses (onewire channels) connected to that piece of hardware. Nevertheless, patching the DS1WM w1 driver may be sufficient and easy enough. Option B Write a fake I²C host adaptor kernel driver which creates a new I²C bus, with your onewire host adaptor the only device connected to that bus. This may be the easiest option if your device behaves very much like the original DS2482. OWFS drops in neatly, no strings attached. I like this approach but I guess I should have been more clear on similarity with DS2482 -- it is conceptually similar (hardware based multichannel bus master chip) but the interface is different. The interface of that custom chip closely matches DS1WM. Then this is *not* the way to go. Option C Memory-mapped IO from userspace, which is *UGH!*. See module/owlib/src/c/ow/ow_ds2482.c for all the things to write and change. The disadvantage is owfs has to run as root to do MMIO. I don't mind running under root. I suppose this is the only feasible option if I don't want to use Linux w1. I will have a look into that source. Well, if you don't show it to anyone... (^__^); I'm aware of non-reusability of that solution but on the other hand also quite specific piece of hardware and from your selection of choices I don't see any other way. Am I right? Best regards, Martin Kind regards Jan -- Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server from Actuate! Instantly Supercharge Your Business Reports and Dashboards with Interactivity, Sharing, Native Excel Exports, App Integration more Get technology previously reserved for billion-dollar corporations, FREE http://pubads.g.doubleclick.net/gampad/clk?id=190641631iu=/4140/ostg.clktrk ___ Owfs-developers mailing list Owfs-developers@lists.sourceforge.netmailto:Owfs-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/owfs-developers -- Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server from Actuate! Instantly Supercharge Your Business Reports and Dashboards with Interactivity, Sharing
Re: [Owfs-developers] Add support for additional hardware bus master
Am 19.02.2015 um 08:59 schrieb Martin Rapavy: Hi Paul, thanks for briefing me on the architecture of OWFS. My master chip has almost exactly the same register interface as Dallas DS1WM (http://datasheets.maximintegrated.com/en/ds/DS1WM.pdf). It only differs in one register: Clock divisor register (0x04) is missing and instead there’s Output Channel Multiplexer register on the same address (0x04). This register is used to enable handling of multiple channels (1wire busses) by single chip. Ohh, maybe we get native support for DS1WM? Swt! Kind regards Jan -- Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server from Actuate! Instantly Supercharge Your Business Reports and Dashboards with Interactivity, Sharing, Native Excel Exports, App Integration more Get technology previously reserved for billion-dollar corporations, FREE http://pubads.g.doubleclick.net/gampad/clk?id=190641631iu=/4140/ostg.clktrk ___ Owfs-developers mailing list Owfs-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/owfs-developers
Re: [Owfs-developers] Add support for additional hardware bus master
Am 18.02.2015 um 15:34 schrieb Martin Rapavy: To add some technical details to my query: the bus master chip in question si very similiar to DS1WM (which is something like DS2482-800 but with memory-mapped registers, instead of I2C access). After browsing the sources for some time I concluded that without guidance from developers it's going to be very hard to identify all the places where to hook-in support for new bus master. Option A OWFS supports the DS1WM through the w1 kernel driver (--w1 option). On a Linux box, that it be sufficient if you fork the kernel driver for DS1WM or add support for you chip in there. The disadvantage is the w1 kernel driver polls the bus itself for new devices and so, isn't a 100% drop-in for a native owfs driver. Option B Write a fake I²C host adaptor kernel driver which creates a new I²C bus, with your onewire host adaptor the only device connected to that bus. This may be the easiest option if your device behaves very much like the original DS2482. OWFS drops in neatly, no strings attached. Option C Memory-mapped IO from userspace, which is *UGH!*. See module/owlib/src/c/ow/ow_ds2482.c for all the things to write and change. The disadvantage is owfs has to run as root to do MMIO. Choose your poison. I favour B. Kind regards Jan -- Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server from Actuate! Instantly Supercharge Your Business Reports and Dashboards with Interactivity, Sharing, Native Excel Exports, App Integration more Get technology previously reserved for billion-dollar corporations, FREE http://pubads.g.doubleclick.net/gampad/clk?id=190641631iu=/4140/ostg.clktrk ___ Owfs-developers mailing list Owfs-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/owfs-developers
Re: [Owfs-developers] Add support for additional hardware bus master
Am 18.02.2015 um 15:34 schrieb Martin Rapavy: To add some technical details to my query: the bus master chip in question si very similiar to DS1WM (which is something like DS2482-800 but with memory-mapped registers, instead of I2C access). After browsing the sources for some time I concluded that without guidance from developers it's going to be very hard to identify all the places where to hook-in support for new bus master. Option A OWFS supports the DS1WM through the w1 kernel driver (--w1 option). On a Linux box, that it be sufficient if you fork the kernel driver for DS1WM or add support for you chip in there. The disadvantage is the w1 kernel driver polls the bus itself for new devices and so, isn't a 100% drop-in for a native owfs driver. I was exactly in favor of avoiding w1 because of bus polling. It is important for me not to use the bus frequently (the wire is also shared for reading out data from sensors). Do you think that the w1 polling might be turned off using w1_master_search (w1 sysfs interface)? Option B Write a fake I²C host adaptor kernel driver which creates a new I²C bus, with your onewire host adaptor the only device connected to that bus. This may be the easiest option if your device behaves very much like the original DS2482. OWFS drops in neatly, no strings attached. I like this approach but I guess I should have been more clear on similarity with DS2482 -- it is conceptually similar (hardware based multichannel bus master chip) but the interface is different. The interface of that custom chip closely matches DS1WM. Option C Memory-mapped IO from userspace, which is *UGH!*. See module/owlib/src/c/ow/ow_ds2482.c for all the things to write and change. The disadvantage is owfs has to run as root to do MMIO. I don't mind running under root. I suppose this is the only feasible option if I don't want to use Linux w1. I will have a look into that source. Thank you for your thoughts and ideas. Best regards, Martin Choose your poison. I favour B. Kind regards Jan -- Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server from Actuate! Instantly Supercharge Your Business Reports and Dashboards with Interactivity, Sharing, Native Excel Exports, App Integration more Get technology previously reserved for billion-dollar corporations, FREE http://pubads.g.doubleclick.net/gampad/clk?id=190641631iu=/4140/ostg.clktrk ___ Owfs-developers mailing list Owfs-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/owfs-developers
Re: [Owfs-developers] Add support for additional hardware bus master
Am 18.02.2015 um 21:19 schrieb Martin Rapavy: I was exactly in favor of avoiding w1 because of bus polling. It is important for me not to use the bus frequently (the wire is also shared for reading out data from sensors). Do you think that the w1 polling might be turned off using w1_master_search (w1 sysfs interface)? That's exactly the purpose of this node. OWFS sends an explicit search command through the netlink socket to the w1 driver at module/owlib/src/c/ow_w1.c, line 112ff so turning off w1_master_search only affects other services which rely on it. BUT: depending on your hardware, hot-plugging a battery may already rely on this! It's a bit of a pity this is a global flag and cannot be turned off by bus. Check your hardware whether it has other services on another onewire. Second pitfall: if your hardware has several buses, the w1 driver will all join them into one. I guess this is really a deal-breaker. There really might be multiple buses (onewire channels) connected to that piece of hardware. Nevertheless, patching the DS1WM w1 driver may be sufficient and easy enough. Option B Write a fake I²C host adaptor kernel driver which creates a new I²C bus, with your onewire host adaptor the only device connected to that bus. This may be the easiest option if your device behaves very much like the original DS2482. OWFS drops in neatly, no strings attached. I like this approach but I guess I should have been more clear on similarity with DS2482 -- it is conceptually similar (hardware based multichannel bus master chip) but the interface is different. The interface of that custom chip closely matches DS1WM. Then this is *not* the way to go. Option C Memory-mapped IO from userspace, which is *UGH!*. See module/owlib/src/c/ow/ow_ds2482.c for all the things to write and change. The disadvantage is owfs has to run as root to do MMIO. I don't mind running under root. I suppose this is the only feasible option if I don't want to use Linux w1. I will have a look into that source. Well, if you don't show it to anyone... (^__^); I'm aware of non-reusability of that solution but on the other hand also quite specific piece of hardware and from your selection of choices I don't see any other way. Am I right? Best regards, Martin Kind regards Jan -- Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server from Actuate! Instantly Supercharge Your Business Reports and Dashboards with Interactivity, Sharing, Native Excel Exports, App Integration more Get technology previously reserved for billion-dollar corporations, FREE http://pubads.g.doubleclick.net/gampad/clk?id=190641631iu=/4140/ostg.clktrk ___ Owfs-developers mailing list Owfs-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/owfs-developers
Re: [Owfs-developers] Add support for additional hardware bus master
Am 18.02.2015 um 21:19 schrieb Martin Rapavy: I was exactly in favor of avoiding w1 because of bus polling. It is important for me not to use the bus frequently (the wire is also shared for reading out data from sensors). Do you think that the w1 polling might be turned off using w1_master_search (w1 sysfs interface)? That's exactly the purpose of this node. OWFS sends an explicit search command through the netlink socket to the w1 driver at module/owlib/src/c/ow_w1.c, line 112ff so turning off w1_master_search only affects other services which rely on it. BUT: depending on your hardware, hot-plugging a battery may already rely on this! It's a bit of a pity this is a global flag and cannot be turned off by bus. Check your hardware whether it has other services on another onewire. Second pitfall: if your hardware has several buses, the w1 driver will all join them into one. Nevertheless, patching the DS1WM w1 driver may be sufficient and easy enough. Option B Write a fake I²C host adaptor kernel driver which creates a new I²C bus, with your onewire host adaptor the only device connected to that bus. This may be the easiest option if your device behaves very much like the original DS2482. OWFS drops in neatly, no strings attached. I like this approach but I guess I should have been more clear on similarity with DS2482 -- it is conceptually similar (hardware based multichannel bus master chip) but the interface is different. The interface of that custom chip closely matches DS1WM. Then this is *not* the way to go. Option C Memory-mapped IO from userspace, which is *UGH!*. See module/owlib/src/c/ow/ow_ds2482.c for all the things to write and change. The disadvantage is owfs has to run as root to do MMIO. I don't mind running under root. I suppose this is the only feasible option if I don't want to use Linux w1. I will have a look into that source. Well, if you don't show it to anyone... (^__^); Kind regards Jan -- Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server from Actuate! Instantly Supercharge Your Business Reports and Dashboards with Interactivity, Sharing, Native Excel Exports, App Integration more Get technology previously reserved for billion-dollar corporations, FREE http://pubads.g.doubleclick.net/gampad/clk?id=190641631iu=/4140/ostg.clktrk ___ Owfs-developers mailing list Owfs-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/owfs-developers
Re: [Owfs-developers] Add support for additional hardware bus master
Am 18.02.2015 um 21:58 schrieb Martin Rapavy: Option C Memory-mapped IO from userspace, which is *UGH!*. See module/owlib/src/c/ow/ow_ds2482.c for all the things to write and change. The disadvantage is owfs has to run as root to do MMIO. I don't mind running under root. I suppose this is the only feasible option if I don't want to use Linux w1. I will have a look into that source. Well, if you don't show it to anyone... (^__^); I'm aware of non-reusability of that solution but on the other hand also quite specific piece of hardware and from your selection of choices I don't see any other way. Am I right? I guess so. Don't be afraid. I too have a private set of patches for a special setup, disabling the automatic DS2409 branch selection and adding a simultaneous command to the BAE0911 code. When Paul et al. change something, I have to adapt the patches myself. But no big hassle, only happened once so far. Kind regards Jan -- Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server from Actuate! Instantly Supercharge Your Business Reports and Dashboards with Interactivity, Sharing, Native Excel Exports, App Integration more Get technology previously reserved for billion-dollar corporations, FREE http://pubads.g.doubleclick.net/gampad/clk?id=190641631iu=/4140/ostg.clktrk ___ Owfs-developers mailing list Owfs-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/owfs-developers
Re: [Owfs-developers] Add support for additional hardware bus master
To add some technical details to my query: the bus master chip in question si very similiar to DS1WM (which is something like DS2482-800 but with memory-mapped registers, instead of I2C access). After browsing the sources for some time I concluded that without guidance from developers it's going to be very hard to identify all the places where to hook-in support for new bus master. Thanks, Martin From: Rapavy Martin Sent: Wednesday, February 18, 2015 10:35 AM To: owfs-developers@lists.sourceforge.net; paul.alfi...@gmail.com Subject: [Owfs-developers] Add support for additional hardware bus master Dear owfs developers, I'm currently exploring options of adding custom hardware-based onewire master chip support into owfs. Could you explain which parts of the software stack of owfs would need to be extended/altered in order to add new bus master support (or perhaps point me to relevant documents). I like what owfs offers very much and would like to use it the project I'm working on. However I'm bound to that custom onewire master chip which is obviously not yet supported by owfs. Thank you very much in advance. Best regards, Martin Rapavy -- Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server from Actuate! Instantly Supercharge Your Business Reports and Dashboards with Interactivity, Sharing, Native Excel Exports, App Integration more Get technology previously reserved for billion-dollar corporations, FREE http://pubads.g.doubleclick.net/gampad/clk?id=190641631iu=/4140/ostg.clktrk___ Owfs-developers mailing list Owfs-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/owfs-developers
Re: [Owfs-developers] Add support for additional hardware bus master
Adding support for a new bus-master chip is actually rather easy. OWFS only requires a few functions be supported. This is actually the point of OWFS: the bus master and slave functions are encapsulated easily. Since we support so many different devices, the level of abstraction is very precise. 1. Detection/configuration step. This includes any hardware configuration and setting up the communication channel (e.g. open the serial port and setting baud rate). 2. Sending a set of bits or bytes and reading the bus ( works for reading, too, when sending 0xFF's ). 3. Some kind of discovery to enumerate the 1-wire slaves. Often hardware assisted. 4. Optional Power bit. You'll also need to add a command line configuration option. If you can describe your bus master to me, I can easily write a rough draft that you can test and perfect. (Or send me a sample). Paul Alfille On Feb 18, 2015 3:59 PM, Martin Rapavy martin.rap...@kistler.com wrote: Am 18.02.2015 um 21:19 schrieb Martin Rapavy: I was exactly in favor of avoiding w1 because of bus polling. It is important for me not to use the bus frequently (the wire is also shared for reading out data from sensors). Do you think that the w1 polling might be turned off using w1_master_search (w1 sysfs interface)? That's exactly the purpose of this node. OWFS sends an explicit search command through the netlink socket to the w1 driver at module/owlib/src/c/ow_w1.c, line 112ff so turning off w1_master_search only affects other services which rely on it. BUT: depending on your hardware, hot-plugging a battery may already rely on this! It's a bit of a pity this is a global flag and cannot be turned off by bus. Check your hardware whether it has other services on another onewire. Second pitfall: if your hardware has several buses, the w1 driver will all join them into one. I guess this is really a deal-breaker. There really might be multiple buses (onewire channels) connected to that piece of hardware. Nevertheless, patching the DS1WM w1 driver may be sufficient and easy enough. Option B Write a fake I²C host adaptor kernel driver which creates a new I²C bus, with your onewire host adaptor the only device connected to that bus. This may be the easiest option if your device behaves very much like the original DS2482. OWFS drops in neatly, no strings attached. I like this approach but I guess I should have been more clear on similarity with DS2482 -- it is conceptually similar (hardware based multichannel bus master chip) but the interface is different. The interface of that custom chip closely matches DS1WM. Then this is *not* the way to go. Option C Memory-mapped IO from userspace, which is *UGH!*. See module/owlib/src/c/ow/ow_ds2482.c for all the things to write and change. The disadvantage is owfs has to run as root to do MMIO. I don't mind running under root. I suppose this is the only feasible option if I don't want to use Linux w1. I will have a look into that source. Well, if you don't show it to anyone... (^__^); I'm aware of non-reusability of that solution but on the other hand also quite specific piece of hardware and from your selection of choices I don't see any other way. Am I right? Best regards, Martin Kind regards Jan -- Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server from Actuate! Instantly Supercharge Your Business Reports and Dashboards with Interactivity, Sharing, Native Excel Exports, App Integration more Get technology previously reserved for billion-dollar corporations, FREE http://pubads.g.doubleclick.net/gampad/clk?id=190641631iu=/4140/ostg.clktrk ___ Owfs-developers mailing list Owfs-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/owfs-developers -- Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server from Actuate! Instantly Supercharge Your Business Reports and Dashboards with Interactivity, Sharing, Native Excel Exports, App Integration more Get technology previously reserved for billion-dollar corporations, FREE http://pubads.g.doubleclick.net/gampad/clk?id=190641631iu=/4140/ostg.clktrk___ Owfs-developers mailing list Owfs-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/owfs-developers