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.

mbrossett's Content

There have been 46 items by mbrossett (Search limited from 14-May 23)


By content type

See this member's


Sort by                Order  

#57672 Netduino attached/dettached several times during debug command

Posted by mbrossett on 21 April 2014 - 06:56 PM in Netduino Plus 2 (and Netduino Plus 1)

Why does the Netduino disconnect and reconnect several times when I start a debug session? It will eventually start the debug, but up to that point Windows shows the Netduino being dettached and reattached 3, 4, 5,... times before it goes. Any ideas?




#57332 Netduino 2 / 2 Plus bootloader pins

Posted by mbrossett on 03 April 2014 - 07:58 PM in Netduino 2 (and Netduino 1)

Does anyone know the significance of having BOOT0, PB11, and PC14 tied together? I understand why BOOT0 is pulled low and has a switch, but why PB11 and PC14? Do they just need to be pulled low when unused?




#60343 Serial port exception using COM2 and COM3

Posted by mbrossett on 04 October 2014 - 05:05 AM in Netduino 2 (and Netduino 1)

I figured out the problem. I accidentally assigned an inputport to one of the serial port pins on the Netduino. Getting rid of that line of code fixed my problems.




#60339 Serial port exception using COM2 and COM3

Posted by mbrossett on 03 October 2014 - 09:01 PM in Netduino 2 (and Netduino 1)

Can anyone tell me if the netduino 2 has a problem using two serial ports in an application. I have each working fine on their own. However, when I tried to open both in an application I get an exception on the serialport.open() of the second one. I have tried everything. Please help!



#57127 Analog Output

Posted by mbrossett on 26 March 2014 - 01:38 AM in Netduino Plus 2 (and Netduino Plus 1)

You could also interface with and SPI or I2C DAC device like this one (MCP4821)...

http://ww1.microchip...eDoc/22244B.pdf

Or better yet (if you are looking for cheap and easy)...

http://www.adafruit....CFSISMwodvSgAZQ



#57128 Analog Output

Posted by mbrossett on 26 March 2014 - 01:42 AM in Netduino Plus 2 (and Netduino Plus 1)

Btw, the MCP48xx family have internal voltage references and the MCP4725 references it's supply voltage. Each has its advantages and disadvantages just depends on what you need the DAC for.



#57383 Adding to Cpu.Pin enumeration

Posted by mbrossett on 06 April 2014 - 09:53 PM in Netduino 2 (and Netduino 1)

Let me try to clear up any confusion...

 

There are pins on the STM32F405RG that are unused in the Netduino design (i.e. PA4, PA5, PC8, PC9,...). I wish to wire up to these pins, however, they are not defined in the Netduino.Pins enumeration and therefore I have no way to control those pins. Does anyone know how I can modify the software/firmware to get access to those STM32F4 pins?




#57398 Adding to Cpu.Pin enumeration

Posted by mbrossett on 07 April 2014 - 01:25 PM in Netduino 2 (and Netduino 1)

Thank you very much CW2! Also, I have attached a simple class that defines the STM32F405RG pins.

using System;
using Microsoft.SPOT;
using Microsoft.SPOT.Hardware;

namespace STM32F4
{
    public static class Pin
    {
        public static Cpu.Pin PA0 { get { return (Cpu.Pin)(0); } }
        public static Cpu.Pin PA1 { get { return (Cpu.Pin)(1); } }
        public static Cpu.Pin PA2 { get { return (Cpu.Pin)(2); } }
        public static Cpu.Pin PA3 { get { return (Cpu.Pin)(3); } }
        public static Cpu.Pin PA4 { get { return (Cpu.Pin)(4); } }
        public static Cpu.Pin PA5 { get { return (Cpu.Pin)(5); } }
        public static Cpu.Pin PA6 { get { return (Cpu.Pin)(6); } }
        public static Cpu.Pin PA7 { get { return (Cpu.Pin)(7); } }
        public static Cpu.Pin PA8 { get { return (Cpu.Pin)(8); } }
        public static Cpu.Pin PA9 { get { return (Cpu.Pin)(9); } }
        public static Cpu.Pin PA10 { get { return (Cpu.Pin)(10); } }
        public static Cpu.Pin PA11 { get { return (Cpu.Pin)(11); } }
        public static Cpu.Pin PA12 { get { return (Cpu.Pin)(12); } }
        public static Cpu.Pin PA13 { get { return (Cpu.Pin)(13); } }
        public static Cpu.Pin PA14 { get { return (Cpu.Pin)(14); } }
        public static Cpu.Pin PA15 { get { return (Cpu.Pin)(15); } }
        public static Cpu.Pin PB0 { get { return (Cpu.Pin)(16 + 0); } }
        public static Cpu.Pin PB1 { get { return (Cpu.Pin)(16 + 1); } }
        public static Cpu.Pin PB2 { get { return (Cpu.Pin)(16 + 2); } }
        public static Cpu.Pin PB3 { get { return (Cpu.Pin)(16 + 3); } }
        public static Cpu.Pin PB4 { get { return (Cpu.Pin)(16 + 4); } }
        public static Cpu.Pin PB5 { get { return (Cpu.Pin)(16 + 5); } }
        public static Cpu.Pin PB6 { get { return (Cpu.Pin)(16 + 6); } }
        public static Cpu.Pin PB7 { get { return (Cpu.Pin)(16 + 7); } }
        public static Cpu.Pin PB8 { get { return (Cpu.Pin)(16 + 8); } }
        public static Cpu.Pin PB9 { get { return (Cpu.Pin)(16 + 9); } }
        public static Cpu.Pin PB10 { get { return (Cpu.Pin)(16 + 10); } }
        public static Cpu.Pin PB11 { get { return (Cpu.Pin)(16 + 11); } }
        public static Cpu.Pin PB12 { get { return (Cpu.Pin)(16 + 12); } }
        public static Cpu.Pin PB13 { get { return (Cpu.Pin)(16 + 13); } }
        public static Cpu.Pin PB14 { get { return (Cpu.Pin)(16 + 14); } }
        public static Cpu.Pin PB15 { get { return (Cpu.Pin)(16 + 15); } }
        public static Cpu.Pin PC0 { get { return (Cpu.Pin)(32 + 0); } }
        public static Cpu.Pin PC1 { get { return (Cpu.Pin)(32 + 1); } }
        public static Cpu.Pin PC2 { get { return (Cpu.Pin)(32 + 2); } }
        public static Cpu.Pin PC3 { get { return (Cpu.Pin)(32 + 3); } }
        public static Cpu.Pin PC4 { get { return (Cpu.Pin)(32 + 4); } }
        public static Cpu.Pin PC5 { get { return (Cpu.Pin)(32 + 5); } }
        public static Cpu.Pin PC6 { get { return (Cpu.Pin)(32 + 6); } }
        public static Cpu.Pin PC7 { get { return (Cpu.Pin)(32 + 7); } }
        public static Cpu.Pin PC8 { get { return (Cpu.Pin)(32 + 8); } }
        public static Cpu.Pin PC9 { get { return (Cpu.Pin)(32 + 9); } }
        public static Cpu.Pin PC10 { get { return (Cpu.Pin)(32 + 10); } }
        public static Cpu.Pin PC11 { get { return (Cpu.Pin)(32 + 11); } }
        public static Cpu.Pin PC12 { get { return (Cpu.Pin)(32 + 12); } }
        public static Cpu.Pin PC13 { get { return (Cpu.Pin)(32 + 13); } }
        public static Cpu.Pin PC14 { get { return (Cpu.Pin)(32 + 14); } }
        public static Cpu.Pin PC15 { get { return (Cpu.Pin)(32 + 15); } }
        public static Cpu.Pin PD2 { get { return (Cpu.Pin)(48 + 2); } }
    }
}



#57380 Adding to Cpu.Pin enumeration

Posted by mbrossett on 06 April 2014 - 09:26 PM in Netduino 2 (and Netduino 1)

Rather, I would like to add to the Netduino.Pins enumeration.




#57379 Adding to Cpu.Pin enumeration

Posted by mbrossett on 06 April 2014 - 09:22 PM in Netduino 2 (and Netduino 1)

Can someone tell me how to add STM32F4 pins (i.e. PA4, PA5, PC8, PC9, ...) to the Cpu.Pin enumeration and use these I/O? Obviously it would require physical access to these pins, for example a custom Netduino board.

 

I am guessing it would require a modification to the Netduino firmware and a rebuild. Has anyone done this?




#57038 Device driver implementation for PCA9539 I/O Expander...

Posted by mbrossett on 23 March 2014 - 10:16 PM in General Discussion

My goal was to create an easy to use device driver for the PCA9539 16-bit GPIO expander IC. However, I also wanted to make it generic so that could be used with other future gpio expander driver implementations.

 

I created a simple interface that each device driver class (i.e. PCA9539) shall implement. I also created a generic Gpio class used to interface with the device driver(s).

 

I chose to do it this way to to make it easy to use in the main routine. I am not a software engineer by trade, so any advice would be much appreciated. Any thoughts, comments, ideas to improve?

 

Attached Files




#57511 NETMF device port wish list...

Posted by mbrossett on 12 April 2014 - 10:45 PM in General Discussion

@Chris Walker and Secret Labs

 

Any chance we could see a Netduino with a powerful micro like the LPC4357? I would really like to see a Netduino with a 24-bit LCD port. Although, the hardware cost would be higher, it would be cool to see a port for the Intel Quark processors, too.

 

How difficult is it to port NETMF to a new processor?




#57544 NETMF device port wish list...

Posted by mbrossett on 14 April 2014 - 01:49 AM in General Discussion

The LPC4370 is a 204MHz M4 with 2x 204MHz M0 cores and 264kB+ RAM. And the quad SPI interface makes it easy to add Flash. Although for an LCD capable board one would need to add external RAM and Flash anyway. It just seems to me to be as good or better than anything ST Micro has to offer and a perfect match for NETMF. But that is just my opinion.

But I understand that there is a lot of reasons to stay with the STM32F4 family, as Cuno has pointed out.

I have been using the GHI EMX Development System for a couple years but I am just disappointed with the performance. I'm surprised there isn't a lot of competition to that yet. I haven't tried their newer module base on the LPC1788, though. I will have to look more into

Chris the reason I am looking for Netduino to offer the product is for the NETMF display stuff to be implemented . Is Secret Labs planning on implementing this in the near future?



#57153 LM75 (I2C temperature sensor)

Posted by mbrossett on 26 March 2014 - 09:20 PM in General Discussion

Awesome, glad I could help! Also, please mark this topic as "answered" if you can.




#57115 LM75 (I2C temperature sensor)

Posted by mbrossett on 25 March 2014 - 08:23 PM in General Discussion

I have used all address combination

A0, A1 and A2 are not soldered, so i think the address if 49, but i have tried last address 4F, because i wasnt sure..so it must be the last or first address.

 

Ah, I believe that is your problem. See page 4 of the datasheet...

 

http://datasheets.ma.../en/ds/LM75.pdf

 

It states that the address pins A0, A1, and A2 should "not be left unconnected". Tie them all to ground and set the address of the device to be 0x48. Hopefully that will work for you.

 

As far as the pull-ups go, you are probably fine if the pull-up resistors exist somewhere on the bus...i.e. on the LCD module. Especially since the I2C bus is working for the LCD.

 

Keep us posted.




#57099 LM75 (I2C temperature sensor)

Posted by mbrossett on 25 March 2014 - 02:09 PM in General Discussion

Can you describe what is happening? ...are you seeing "LM75 is not responding..." printed out, or are you getting an exception thrown, or is the temperature reading not right? As gismo said verify pull-up resistors and also check the address of the device (is A0 pulled HIGH, and A1, A2 pulled LOW?).




#57125 Problem: Analog Temperature Sensor KY-013

Posted by mbrossett on 26 March 2014 - 12:03 AM in General Discussion

See this post. It seems you are correct and the pins are labelled wrong...

 

http://forum.arduino...c,209133.0.html




#57451 Netduino 2 Firmware v4.2.2 (update 2)

Posted by mbrossett on 09 April 2014 - 04:35 PM in Netduino 2 (and Netduino 1)

Yes, I have the custom board working! Thanks for your help! And if you are curious about my issue...

 

The processor wasn't recognizing the attachment of the USB cable after the firmware was loaded. I measured the VBUS signal to the processor and realized it wasn't getting pulled up high enough due to the 100 Ohm series resistor I used. Removed the resistor and problem solved. Looking at the datasheet for the STM32F405 shows the internal resistor divider on the VBUS signal is fairly strong and explains the problem.




#57375 Netduino 2 Firmware v4.2.2 (update 2)

Posted by mbrossett on 06 April 2014 - 03:47 PM in Netduino 2 (and Netduino 1)

I found all three of the files (tinybooter, flash, and config) in the NetduinoUpdater zip folder.




#57373 Netduino 2 Firmware v4.2.2 (update 2)

Posted by mbrossett on 06 April 2014 - 01:16 PM in Netduino 2 (and Netduino 1)

Thanks Chris. So if I use the same crystal frequency on the Netduino board I shouldn't need to recompile anything, right? I was able to successfully use the STDFU to program my hardware. And when it powers up I know it is doing something as the LED will turn off after a few seconds. However, windows will not recognize the MCU when I plug it in unless it is in the bootloader. Can you provide the Tinybooter and Tinyclr files for the Netduino? Thanks again for your help!




#57333 Netduino 2 Firmware v4.2.2 (update 2)

Posted by mbrossett on 03 April 2014 - 09:33 PM in Netduino 2 (and Netduino 1)

Can you provide all the files needed to load a custom board with Netduino firmware / bootloader. When I load this DFU in the STM32F405 and reset the board, I cannot access the device through MFDeploy. Is there another file I need to load?...tinybooter, tinyclr, or something?




#57066 Help on I2C

Posted by mbrossett on 25 March 2014 - 01:45 AM in Netduino 2 (and Netduino 1)

What is the part number of the LCD you are using. This may help us help you. If it is a Newhaven Display serial LCD then you need to install an on-board jumper to configure it in I2C mode. Your fix probably isn't that easy but just thought I'd throw that out there. Also, if you give me the part number I could write you a simple piece of test code.



#57640 Help on I2C

Posted by mbrossett on 18 April 2014 - 08:57 PM in Netduino 2 (and Netduino 1)

No I don't think you need to buy a new one...yet. I have been on travel but should be able to send you something this weekend to help you troubleshoot.



#57408 Help on I2C

Posted by mbrossett on 07 April 2014 - 08:48 PM in Netduino 2 (and Netduino 1)

Here's a few things to check...

 

1) Is there a jumper / short across R1? (R2 should be left open)

2) Measure the voltages of SDA and SCL while the bus is idle...are they pulled up to 5V?

3) Try adding a delay at the beginning of your code to ensure LCD is up and configure ("Thread.Sleep(1000);")

4) Step through the code using the debugger and ensure the "device.Execute(...);" functions are returning a non-zero value. You will need to change the code slightly... "int ret = device.Execute(...);"

5) Try setting the brightness and contrast..."display.SetBrightness(0x07);" ... "display.SetContrast(0x30);"

 

The Netduino should be capable of providing the 250mA to the display, but you can verify this by measuring the voltage at the display when it is plugged in. If the voltage is above 4.7V it is fine.




#57467 Help on I2C

Posted by mbrossett on 11 April 2014 - 04:08 AM in Netduino 2 (and Netduino 1)

Are you making any progress Frank?





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.