- Netduino Forums
- → Kenny Kerr's Content
Kenny Kerr's Content
There have been 17 items by Kenny Kerr (Search limited from 20-April 23)
#6807 Big-endian
Posted by Kenny Kerr on 02 January 2011 - 12:29 AM in Netduino 2 (and Netduino 1)
#6812 Big-endian
Posted by Kenny Kerr on 02 January 2011 - 02:18 AM in Netduino 2 (and Netduino 1)
#6641 Schematic files
Posted by Kenny Kerr on 29 December 2010 - 12:52 PM in Netduino Plus 2 (and Netduino Plus 1)
Hi Kenny,
Welcome to the Netduino community!
We use Candence Allegro for board layout on sophisticated boards like the Netduino. We do print the schematics out as PDFs, which are available on the Downloads page.
Does that give you a good start?
Chris
Thanks Chris!
#6620 Schematic files
Posted by Kenny Kerr on 29 December 2010 - 01:48 AM in Netduino Plus 2 (and Netduino Plus 1)
#7650 Using netduino plus without .NET
Posted by Kenny Kerr on 14 January 2011 - 03:10 PM in Netduino Plus 2 (and Netduino Plus 1)
#7661 Using netduino plus without .NET
Posted by Kenny Kerr on 14 January 2011 - 05:11 PM in Netduino Plus 2 (and Netduino Plus 1)
#7725 Using netduino plus without .NET
Posted by Kenny Kerr on 15 January 2011 - 02:39 PM in Netduino Plus 2 (and Netduino Plus 1)
If you're doing heavy development, I'd recommend picking up the Atmel AT91SAM7X-EK devboard, solder a 512KB MCU onto it, and buying a nice compiler and JTAG unit. These can range in price from low-cost (GCC and one of the low-cost JTAGs) to really nice (the ARM RVDS compiler and RVICE JTAG...about $10k). We use the latter, but you can certainly do this sort of thing using GCC and Netduino on a budget if you don't mind using printfs for debugging...
Could you recommend a basic JTAG unit for single-step debugging that I could use with GCC? I want to get a feel for what this is like with a microcontroller, but have no idea where to start or where to purchase such a thing.
Cheers,
Kenny
#7666 Using netduino plus without .NET
Posted by Kenny Kerr on 14 January 2011 - 05:44 PM in Netduino Plus 2 (and Netduino Plus 1)
#7225 C++ compilers
Posted by Kenny Kerr on 07 January 2011 - 07:14 PM in Netduino 2 (and Netduino 1)
Well, exploding complexity in order to fix up a language, sounds more like 'beginning to an end' to me :-/
But C++ could really use a refurbish, so it'll be very interesting to see if it sticks. (Eg. will it be implemented in GNU etc.)
Many of the C++0x language features are already available in the GCC compiler.
#7081 C++ compilers
Posted by Kenny Kerr on 05 January 2011 - 04:38 PM in Netduino 2 (and Netduino 1)
Does it have the proposed/optional Garbage Collector as well?
No, it includes rvalue references (essential for move semantics and perfect forwarding), type inference (auto), lambda functions and expressions, trailing return types, nullptr, static assertions, new standard hash tables, regular expressions, shared_ptr and unique_ptr, function objects (kinda like C# delegates), type traits, and some others. It’s a great start. The next release should include most of the outstanding items and any changes once C++0x is finalized.
#7077 C++ compilers
Posted by Kenny Kerr on 05 January 2011 - 04:11 PM in Netduino 2 (and Netduino 1)
#7072 C++ compilers
Posted by Kenny Kerr on 05 January 2011 - 03:04 PM in Netduino 2 (and Netduino 1)
#7078 C++ compilers
Posted by Kenny Kerr on 05 January 2011 - 04:12 PM in Netduino 2 (and Netduino 1)
C++0x as in "the new *draft* version of C++"?
http://en.wikipedia.org/wiki/C%2B%2B0x
Impressive, I didn't think it had arrived yet.
Yes, Visual C++ 2010 has implemented many of the new language and libraries defined by the upcoming C++0x proposed standard.
#8555 RS485 between two Netduinos
Posted by Kenny Kerr on 27 January 2011 - 01:57 PM in Netduino Plus 2 (and Netduino Plus 1)
Anyway, about the RTS, I'd avoid to modify the driver for the TX-enabling. I'd prefer to manage "manually" the line...
Hi Mario,
Yes for the netduino it’s probably simplest to let the chip think it’s an RS232 and handle the RTS manually. We’re just going to use native code with our own board, so we can use the RS485 driver.
Cheers,
Kenny
#8471 RS485 between two Netduinos
Posted by Kenny Kerr on 26 January 2011 - 05:04 PM in Netduino Plus 2 (and Netduino Plus 1)
FYI, I'm working to do the same thing, but for connect the Netduino+ to a PC.
Thanks Mario,
Did you get it to work? From reading through the Atmel docs on their USART and looking at the Micro Framework firmware (native code) it looks like the Micro Framework hardcodes the USART to operate in “normal” mode but we require it to be switched to “rs485” mode to ensure the right RTS behavior. Unfortunately this requires a recompilation of the netduino’s firmware to flip this register value.
Cheers,
Kenny
#8317 RS485 between two Netduinos
Posted by Kenny Kerr on 24 January 2011 - 06:50 PM in Netduino Plus 2 (and Netduino Plus 1)
What RS485 transceivers are you using? If using RTS/CTS, you generally need to wire _both_ RTS and CTS.
I'm using the LT1785 tranceiver. I thought I didn't need to wire up the CTS but I could be wrong.
Also, are RX and TX swapped between the two boards (RX1<->TX2 and RX2<->TX1)?
I'm not sure what you mean. I tried to wire both board identically: DI to TX (pin 3) and R0 to RX (pin 2).
Cheers,
Kenny
#8310 RS485 between two Netduinos
Posted by Kenny Kerr on 24 January 2011 - 06:00 PM in Netduino Plus 2 (and Netduino Plus 1)
I have a Netduino and a Netduino Plus that I’ve connected to RS485 transceivers in an attempt to test serial communication between the two. My wiring may well be wrong but I’m just trying to eliminate coding errors first.
The tranceiver requires 3 pins which map to RX, TX and RTS on the netduino I believe. I have connected these to digital pins 2, 3 and 7. I assume this maps to COM2.
The netduino plus attempts to send a few bytes when the button is pressed:
class Program { static SerialPort m_port; static void Main() { m_port = new SerialPort("COM2", 9600, Parity.None, 8, StopBits.One); m_port.Handshake = Handshake.RequestToSend; m_port.DataReceived += OnDataReceived; m_port.ErrorReceived += ErrorReceived; m_port.Open(); InterruptPort button = new InterruptPort(Pins.ONBOARD_SW1, false, Port.ResistorMode.Disabled, Port.InterruptMode.InterruptEdgeBoth); button.OnInterrupt += OnButton; Thread.Sleep(Timeout.Infinite); } static void ErrorReceived(object sender, SerialErrorReceivedEventArgs args) { Debug.Print("error"); } static void OnDataReceived(object sender, SerialDataReceivedEventArgs args) { Debug.Print("data"); } static void OnButton(uint data1, uint data2, DateTime time) { if (0 == data2) { var bytes = Encoding.UTF8.GetBytes("hello from netduino plus"); int count = m_port.Write(bytes, 0, bytes.Length); Debug.Assert(bytes.Length == count); m_port.Flush(); } } }
The netduino on the other end simply waits to receive data:
class Program { static SerialPort m_port; static void Main() { m_port = new SerialPort("COM2", 9600, Parity.None, 8, StopBits.One); m_port.Handshake = Handshake.RequestToSend; m_port.DataReceived += OnDataReceived; m_port.ErrorReceived += ErrorReceived; m_port.Open(); Thread.Sleep(Timeout.Infinite); } static void ErrorReceived(object sender, SerialErrorReceivedEventArgs args) { Debug.Print("error"); } static void OnDataReceived(object sender, SerialDataReceivedEventArgs args) { Debug.Print("data"); } }
Although the SerialPort.Write call succeeds, data is never received on the remote SerialPort. Am I doing something obviously wrong?
Cheers,
Kenny
- Netduino Forums
- → Kenny Kerr's Content
- Privacy Policy