One Wire? - Netduino Go - Netduino Forums
   
Netduino home hardware projects downloads community

Jump to content


The Netduino forums have been replaced by new forums at community.wildernesslabs.co. This site has been preserved for archival purposes only and the ability to make new accounts or posts has been turned off.
Photo

One Wire?


  • Please log in to reply
7 replies to this topic

#1 mcinnes01

mcinnes01

    Advanced Member

  • Members
  • PipPipPip
  • 325 posts
  • LocationManchester UK

Posted 08 April 2012 - 03:24 PM

Hi,

I read in the introduction thread http://forums.netdui...ng-netduino-go/ that one-wire will be available via the shield base.

I wondered will 1-Wire be officially natively supported with the go and its shield base module?

Also are there any plans for a dedicated 1-Wire bus module?

I was thinking that someone a little more technical than I may already have some plans in the pipeline for this, but I also had some ideas for such a module...

Could it be possible to make a one wire module with perhaps 8 connectors (all joined on the same 1-wire bus) but perhaps with a shift register (which I believe each module will have as standard now?) that detects when a device is plugged in to 1 of the 8 connectors in order to automatically identify and register a one wire device to a specific port (maybe with the same led idea as the main GO board). This would make it easy if you add/remove/change connected devices to easily identify the correct device in your code. Also as it would all be on the same bus you would still be able to address devices simultaneously (such as DS18B20 temp probes).

Netduino GO looks amazing, now I just need to work out how to fit my aquarium project in with this, oh and buy a GO which is going straight to the top of my shopping list!

Thanks for the hard work on the GO everyone, can't wait to get one!

Andy

#2 Stefan

Stefan

    Moderator

  • Members
  • PipPipPip
  • 1965 posts
  • LocationBreda, the Netherlands

Posted 08 April 2012 - 05:10 PM

Hi Andy, A module could do a Onewire to Go! conversion I suppose. For temperature probes I wouldn't emulate Onewire over the Go! bus though. I would just use Onewire on the module and transfer the temperature. So letting all the calculations be done on the module side. You could even do this interrupt driven, so an OnTemperatureChange() event could be added in place. Just hypothetical by the way, but it would be possible.
"Fact that I'm a moderator doesn't make me an expert in things." Stefan, the eternal newb!
My .NETMF projects: .NETMF Toolbox / Gadgeteer Light / Some PCB designs

#3 Chris Walker

Chris Walker

    Secret Labs Staff

  • Moderators
  • 7767 posts
  • LocationNew York, NY

Posted 08 April 2012 - 06:58 PM

Hi Andy, Yes, we will be enabling OneWire via virutalized IO with go!bus. A module like that would be really cool. You could do all the processing on the device as Stefan mentioned, and then return the data via a virtual AnalogInput. The easiest solution will be to hook up the OneWire device to the on-module MCU, virtualize the pin, and then write your code in C# in your mainboard driver. Chris

#4 indimini

indimini

    Member

  • Members
  • PipPip
  • 15 posts

Posted 09 October 2012 - 02:47 PM

Sorry for yet another n00b question, but the whole hw/microcontroller world is new to me. (Plenty of .NET/sw experience, which is why I went the Go route.) Is it possible to use the Microsoft.SPOT.Hardware.OneWire class/dll with the Go! and Shield Base? When I add the OneWire reference to my test project, it compiles but trying to call any OneWire methods results in a System.NotSupportedException. I saw in the forums that N/N+ boards don't include support for OneWire b/c of size constraints, but I assumed the more capable Go would support this feature. If I can't use the Microsoft OneWire implementation, how can I read data from a series of DS18B20's with Go + Shield Base? Thanks for any help/insights.

#5 Lunddahl

Lunddahl

    Advanced Member

  • Members
  • PipPipPip
  • 152 posts
  • LocationEurope, Denmark

Posted 09 October 2012 - 04:02 PM

You could do all the processing on the device as Stefan mentioned, and then return the data via a virtual AnalogInput. The easiest solution will be to hook up the OneWire device to the on-module MCU, virtualize the pin, and then write your code in C# in your mainboard driver.


What do you actually mean by virtualizing the pin, as I understand it, you "cheat" the go mainboard to communicate with a pin, that is not a pin on the mcu, but a pin on another module emulated in software, and materialized on the go module's mcu's pin.

As of digital and analog pins I can see how that can be done, as they are read from or written to, for PWM, expect the hardware PWM function on the go modules mcu is used, right ?

As for serial, spi and i2c, that must be the hardware on the other end too, right ?

Now here comes the question, what does a go module do when the data clocks in on the spi, i2c or one wire pin on the local mcu, and the go mainboard is doing something else ?

Answer is probably buffering them, but if the logic is implemented on the go mainboard and the pin is only virtual, 0 and 1 just clocks away, or am I completely stupid?

- Ulrik

#6 neslekkim

neslekkim

    Advanced Member

  • Members
  • PipPipPip
  • 350 posts
  • LocationOslo, Norway

Posted 09 October 2012 - 04:08 PM

Would be interresting to get more insight on this yes. But I guess, that the cpu on the module/shieldbase need to have enough capability to run the full protocol in hardware, that, spi, i2c etc, and the data is sendt back using spi to the Go mainboard, in chunks. (I think I read about frames somewhere here?)

--
Asbjørn


#7 GregR

GregR

    Advanced Member

  • Members
  • PipPipPip
  • 32 posts
  • LocationKeller, Tx

Posted 09 October 2012 - 06:10 PM

Would be interresting to get more insight on this yes.

But I guess, that the cpu on the module/shieldbase need to have enough capability to run the full protocol in hardware, that, spi, i2c etc, and the data is sendt back using spi to the Go mainboard, in chunks. (I think I read about frames somewhere here?)


I would assume that it has to be the full protocol on the shieldbase or otherwise we would have I2C (as well as everything else) available today.

#8 neslekkim

neslekkim

    Advanced Member

  • Members
  • PipPipPip
  • 350 posts
  • LocationOslo, Norway

Posted 09 October 2012 - 06:14 PM

as far as I know, i2c is in hardware on that cpu, if that is going to be used or if it will be an software implementation I'm not sure about. If you deply .net mf to the shieldbase, you have an netduino, with i2c support (someone correct me if I'm wrong) But, If you need to wrap the i2c data and send it in spi frames between Go mainboard and the shieldbase, I can fully understand that we don't have i2c support yet. It would be interresting to know what Nwazet did with their DAQ, since they offer i2c today..

--
Asbjørn





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

home    hardware    projects    downloads    community    where to buy    contact Copyright © 2016 Wilderness Labs Inc.  |  Legal   |   CC BY-SA
This webpage is licensed under a Creative Commons Attribution-ShareAlike License.