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.

Geancarlo's Content

There have been 24 items by Geancarlo (Search limited from 29-March 23)


By content type

See this member's

Sort by                Order  

#24529 Logic Level Converter questions

Posted by Geancarlo on 21 February 2012 - 05:40 PM in General Discussion

You can solder a wire to one of the output pins of the MC33269D-3.3G voltage regulator.



#24460 Method parameter "this byte"

Posted by Geancarlo on 20 February 2012 - 01:19 PM in Visual Studio

You can try this out http://mikedodaro.ne...icro-framework/



#24357 Mini only runs when com port attached

Posted by Geancarlo on 17 February 2012 - 07:59 PM in Netduino Mini

The 5V LDO regulator may be the culprit...you could check it by disconnecting everything else from your netduino mini and have it powered by the battery. Then you can measure the voltage on the +5V pin of your netduino to see if it is properly regulating.(by the way I don't know your level of expertise but I'll assume you have it wired correctly) Another thing you should check is if the battery is discharged<again use a voltmeter to measure it's voltage output>. Last time I checked, netduino plus is kinda power-hungry and those 9V batteries can't supply much current.



#24083 Native programming, which tools do I need?

Posted by Geancarlo on 11 February 2012 - 12:34 AM in General Discussion

I'm not really experienced, but when I think about ARM this is what comes to my mind: Compiler/IDE+JTAG debugger+complex documentation/beginner unfriendly=$$$$$$ well, that's about it for "pre" arm cortex devices. If you want an easy to play development kit you should try STM32F4-Discovery. It comes with a programmer/debugger, CMSIS libraries making life easier, DSP libraries and you can use a free license IDE with it(Attolic True Studio).



#23848 Watchdog: How to do on netduino?

Posted by Geancarlo on 06 February 2012 - 02:08 PM in General Discussion

:unsure:



#23826 Watchdog: How to do on netduino?

Posted by Geancarlo on 06 February 2012 - 12:43 AM in General Discussion

The Netduino microcontroller has [only] one hardware watchdog timer and that is used by .NET Micro Framework runtime itself, so it is not available for user applications. You'd need to add external watchdog circuit.


But doesn't the LPC2387/8(used for FEZ boards) also contain a single wdt?Couldn't the functionality of the WDT also be exposed like GHI did?



#23392 Why Not?

Posted by Geancarlo on 28 January 2012 - 05:25 PM in General Discussion

http://forums.netdui...?showtopic=2769



#23195 google api issue

Posted by Geancarlo on 23 January 2012 - 03:26 PM in Netduino Plus 2 (and Netduino Plus 1)

Hello, have you compiled the google api and executed any simple app using it for the netduino/.netmf without problems?



#23116 UART - Common ground

Posted by Geancarlo on 21 January 2012 - 11:03 PM in Netduino Plus 2 (and Netduino Plus 1)

As long as the device uses TTL levels(~0 and ~5V) you are fine since the uart pins on the netduino are 5V tolerant and that resistor is not required



#23110 Powerful Aquarium Lighting

Posted by Geancarlo on 21 January 2012 - 07:03 PM in General Discussion

Power=VoltageDrop x Current- that way if you know the drop accross the leds and that they are 1W rated you can calculate their currents as 1/VoltageDrop and proceed to calculate Rcs and the other components.

The resistor connected to CS port is responsable for setting the current over the leds. It is calculated as shown in the application information section as

R=0.25/(Iled+0.5*Iripple) ; Iripple is the peak to peak current on the inductor

You also have to calculate the inductance, Rosc and the capacitor shown in the app notes.


This applies to the buck topology that you would replicate to control leds individually, but I'm not sure if I missed something...Do you plan on controlling all 30 leds individually on a PWM fashion using a single netduino? :blink:



#23090 connecting audio input

Posted by Geancarlo on 21 January 2012 - 04:15 AM in Netduino Plus 2 (and Netduino Plus 1)

The audio output swings from -1 to +1V(as far as i know), while the netduino adc should only receive positive voltages below 3.3V I suggest you interface them with a voltage summing circuit using a rail-to-rail operational amplifier powered with 3.3V. The audio output from ur sound card should be added to 1.65V(3.3/2) so that you stay right in the middle of the adc range not reaching any of the limits.



#23055 Barebones Netduino

Posted by Geancarlo on 20 January 2012 - 01:41 PM in Netduino 2 (and Netduino 1)

Do you mean like Netduino Mini?



#22483 SD card not working on N+ 4.2 RC3

Posted by Geancarlo on 05 January 2012 - 10:41 PM in Beta Firmware and Drivers

Hi Igor, I added System.IO to your project and it compiled right away.



#22478 SD card not working on N+ 4.2 RC3

Posted by Geancarlo on 05 January 2012 - 10:08 PM in Beta Firmware and Drivers

Hi, you probably have to add System.IO.



#22109 Nut/OS on netduino

Posted by Geancarlo on 27 December 2011 - 04:02 AM in Netduino Plus 2 (and Netduino Plus 1)

Thank you very much, I hadn't noticed your post before. I'll try this when I get back to work on next week :)

Hi friend.

For Ethernet to work with Netduino, you should add a define statement to enable the emac driver in the file board.h located
in nut/include folder. So, the modification is like this:

/*
* Ethernet device.
*/
#if defined(CHARON2) || defined(XNUT_100) || defined(XNUT_105) ||\
defined(MMNET01) || defined(MMNET02) || defined(MMNET03) || defined(MMNET04) ||\
defined(ARTHERNET1)
#include <dev/nicrtl.h>
#elif defined(MMNET101) || defined(MMNET102) || defined(MMNET103) || defined(MMNET104)
#include <dev/lanc111.h>
#elif defined(ELEKTOR_IR1)
#include <dev/dm9000e.h>
#elif defined(OLIMEX_LPCE2294)
#include <dev/cs8900a.h>
#elif defined(AT91SAM7X_EK) || defined(AT91SAM9260_EK) || defined(MORPHOQ1) || defined(ENET_SAM7X) || defined(NETDUINO)
#include <dev/at91_emac.h>
#elif defined(EVK1100) || defined(EVK1105)
#include <dev/avr32_macb.h>
#endif

#ifndef DEV_ETHER
#include <dev/null_ether.h>
#endif
#ifndef DEV_ETHER_NAME
#define DEV_ETHER_NAME "eth0"
#endif

you need to define the netduino platform in the NutConfigurator and save it with a different name.
the template you should use is the board AT91SAM7X256-EK and change the processor size to the AT91SAM7X512.

After that, you should build the NUT/OS to take effect those changes.

Best Regards,
Alfonso.

PD: Merry Christmas...




#21797 How do you get the bytes of a float?

Posted by Geancarlo on 17 December 2011 - 03:08 PM in General Discussion

If the data you want to serialize will remain in .netmf world, I believe you can use Reflection.Serialize/Deserialize



#21663 Current State of features

Posted by Geancarlo on 13 December 2011 - 04:31 PM in General Discussion

I believe you can use this http://forums.netdui...tion-using-usb/ for basic communication if you plan on having a custom app on ur desktop. I'm currently using it for transfering a configuration .ini file and storing it in the SD card.



#21661 Utility.ComputeCRC

Posted by Geancarlo on 13 December 2011 - 03:39 PM in Netduino 2 (and Netduino 1)

Hi,
you can find the code below in the micro framework source code in MicroFrameworkPK_v4_1\Support\crc\CRC.cpp


//
// CRC 32 table for use under ZModem protocol, IEEE 802
// G(x) = x^32+x^26+x^23+x^22+x^16+x^12+x^11+x^10+x^8+x^7+x^5+x^4+x^2+x+1
//
static const UINT32 c_CRCTable[ 256 ] =
{
    0x00000000, 0x04C11DB7, 0x09823B6E, 0x0D4326D9, 0x130476DC, 0x17C56B6B, 0x1A864DB2, 0x1E475005,
    0x2608EDB8, 0x22C9F00F, 0x2F8AD6D6, 0x2B4BCB61, 0x350C9B64, 0x31CD86D3, 0x3C8EA00A, 0x384FBDBD,
    0x4C11DB70, 0x48D0C6C7, 0x4593E01E, 0x4152FDA9, 0x5F15ADAC, 0x5BD4B01B, 0x569796C2, 0x52568B75,
    0x6A1936C8, 0x6ED82B7F, 0x639B0DA6, 0x675A1011, 0x791D4014, 0x7DDC5DA3, 0x709F7B7A, 0x745E66CD,
    0x9823B6E0, 0x9CE2AB57, 0x91A18D8E, 0x95609039, 0x8B27C03C, 0x8FE6DD8B, 0x82A5FB52, 0x8664E6E5,
    0xBE2B5B58, 0xBAEA46EF, 0xB7A96036, 0xB3687D81, 0xAD2F2D84, 0xA9EE3033, 0xA4AD16EA, 0xA06C0B5D,
    0xD4326D90, 0xD0F37027, 0xDDB056FE, 0xD9714B49, 0xC7361B4C, 0xC3F706FB, 0xCEB42022, 0xCA753D95,
    0xF23A8028, 0xF6FB9D9F, 0xFBB8BB46, 0xFF79A6F1, 0xE13EF6F4, 0xE5FFEB43, 0xE8BCCD9A, 0xEC7DD02D,
    0x34867077, 0x30476DC0, 0x3D044B19, 0x39C556AE, 0x278206AB, 0x23431B1C, 0x2E003DC5, 0x2AC12072,
    0x128E9DCF, 0x164F8078, 0x1B0CA6A1, 0x1FCDBB16, 0x018AEB13, 0x054BF6A4, 0x0808D07D, 0x0CC9CDCA,
    0x7897AB07, 0x7C56B6B0, 0x71159069, 0x75D48DDE, 0x6B93DDDB, 0x6F52C06C, 0x6211E6B5, 0x66D0FB02,
    0x5E9F46BF, 0x5A5E5B08, 0x571D7DD1, 0x53DC6066, 0x4D9B3063, 0x495A2DD4, 0x44190B0D, 0x40D816BA,
    0xACA5C697, 0xA864DB20, 0xA527FDF9, 0xA1E6E04E, 0xBFA1B04B, 0xBB60ADFC, 0xB6238B25, 0xB2E29692,
    0x8AAD2B2F, 0x8E6C3698, 0x832F1041, 0x87EE0DF6, 0x99A95DF3, 0x9D684044, 0x902B669D, 0x94EA7B2A,
    0xE0B41DE7, 0xE4750050, 0xE9362689, 0xEDF73B3E, 0xF3B06B3B, 0xF771768C, 0xFA325055, 0xFEF34DE2,
    0xC6BCF05F, 0xC27DEDE8, 0xCF3ECB31, 0xCBFFD686, 0xD5B88683, 0xD1799B34, 0xDC3ABDED, 0xD8FBA05A,
    0x690CE0EE, 0x6DCDFD59, 0x608EDB80, 0x644FC637, 0x7A089632, 0x7EC98B85, 0x738AAD5C, 0x774BB0EB,
    0x4F040D56, 0x4BC510E1, 0x46863638, 0x42472B8F, 0x5C007B8A, 0x58C1663D, 0x558240E4, 0x51435D53,
    0x251D3B9E, 0x21DC2629, 0x2C9F00F0, 0x285E1D47, 0x36194D42, 0x32D850F5, 0x3F9B762C, 0x3B5A6B9B,
    0x0315D626, 0x07D4CB91, 0x0A97ED48, 0x0E56F0FF, 0x1011A0FA, 0x14D0BD4D, 0x19939B94, 0x1D528623,
    0xF12F560E, 0xF5EE4BB9, 0xF8AD6D60, 0xFC6C70D7, 0xE22B20D2, 0xE6EA3D65, 0xEBA91BBC, 0xEF68060B,
    0xD727BBB6, 0xD3E6A601, 0xDEA580D8, 0xDA649D6F, 0xC423CD6A, 0xC0E2D0DD, 0xCDA1F604, 0xC960EBB3,
    0xBD3E8D7E, 0xB9FF90C9, 0xB4BCB610, 0xB07DABA7, 0xAE3AFBA2, 0xAAFBE615, 0xA7B8C0CC, 0xA379DD7B,
    0x9B3660C6, 0x9FF77D71, 0x92B45BA8, 0x9675461F, 0x8832161A, 0x8CF30BAD, 0x81B02D74, 0x857130C3,
    0x5D8A9099, 0x594B8D2E, 0x5408ABF7, 0x50C9B640, 0x4E8EE645, 0x4A4FFBF2, 0x470CDD2B, 0x43CDC09C,
    0x7B827D21, 0x7F436096, 0x7200464F, 0x76C15BF8, 0x68860BFD, 0x6C47164A, 0x61043093, 0x65C52D24,
    0x119B4BE9, 0x155A565E, 0x18197087, 0x1CD86D30, 0x029F3D35, 0x065E2082, 0x0B1D065B, 0x0FDC1BEC,
    0x3793A651, 0x3352BBE6, 0x3E119D3F, 0x3AD08088, 0x2497D08D, 0x2056CD3A, 0x2D15EBE3, 0x29D4F654,
    0xC5A92679, 0xC1683BCE, 0xCC2B1D17, 0xC8EA00A0, 0xD6AD50A5, 0xD26C4D12, 0xDF2F6BCB, 0xDBEE767C,
    0xE3A1CBC1, 0xE760D676, 0xEA23F0AF, 0xEEE2ED18, 0xF0A5BD1D, 0xF464A0AA, 0xF9278673, 0xFDE69BC4,
    0x89B8FD09, 0x8D79E0BE, 0x803AC667, 0x84FBDBD0, 0x9ABC8BD5, 0x9E7D9662, 0x933EB0BB, 0x97FFAD0C,
    0xAFB010B1, 0xAB710D06, 0xA6322BDF, 0xA2F33668, 0xBCB4666D, 0xB8757BDA, 0xB5365D03, 0xB1F740B4
};

UINT32 SUPPORT_ComputeCRC( const void* rgBlock ,
                           int         nLength ,
                           UINT32      crc     )
{
    const UINT8* ptr = (const UINT8*)rgBlock;

    while(nLength-- > 0)
    {
        crc = c_CRCTable[ ((crc >> 24) ^ (*ptr++)) & 0xFF ] ^ (crc << 8);
    }

    return crc;
}

MicroFrameworkPK_v4_1\CLR\Libraries\SPOT\spot_native_Microsoft_SPOT_Hardware_Utility.cpp:

HRESULT Library_spot_native_Microsoft_SPOT_Hardware_Utility::ComputeCRC___STATIC__U4__SZARRAY_U1__I4__I4__U4( CLR_RT_StackFrame& stack )
{
    NATIVE_PROFILE_CLR_CORE();
    TINYCLR_HEADER();

    CLR_RT_HeapBlock*       pArgs;
    CLR_RT_HeapBlock_Array* array;
    int                     offset;
    int                     length;
    CLR_UINT32              crc;
    int                     totLength;

    pArgs      = &(stack.Arg0());
    array      = pArgs[ 0 ].DereferenceArray(); FAULT_ON_NULL(array);
    offset     = pArgs[ 1 ].NumericByRef().s4;
    length     = pArgs[ 2 ].NumericByRef().s4;
    crc        = pArgs[ 3 ].NumericByRef().u4;
    totLength  = array->m_numOfElements;

    if(offset < 0 || offset > totLength)
    {
        TINYCLR_SET_AND_LEAVE(CLR_E_OUT_OF_RANGE);
    }

    if(length == -1)
    {
        length = totLength - offset;
    }
    else
    {
        if(length < 0 || (offset+length) > totLength)
        {
            TINYCLR_SET_AND_LEAVE(CLR_E_OUT_OF_RANGE);
        }
    }

    crc = SUPPORT_ComputeCRC( array->GetElement( offset ), length, crc );

    stack.SetResult( crc, DATATYPE_U4 );

    TINYCLR_NOCLEANUP();
}

all of this is called by the following declaration in \MicroFrameworkPK_v4_1\Framework\Core\Native\HW_Utility.cs :
        [MethodImplAttribute(MethodImplOptions.InternalCall)]
        extern static public uint ComputeCRC(byte[] buf, int offset, int length, uint crc);



#21655 Utility.ComputeCRC

Posted by Geancarlo on 13 December 2011 - 12:10 PM in Netduino 2 (and Netduino 1)

Hi, the netmf documentation says "This method uses the IEEE 802.3 CRC-32 Zmodem protocol to compute the CRC". on Wikipedia: x^32 + x^26 + x^23 + x^22 + x^16 + x^12 + x^11 + x^10 + x^8 + x^7 + x^5 + x^4 + x^2 + x + 1 (ISO 3309, ANSI X3.66, FIPS PUB 71, FED-STD-1003, ITU-T V.42, Ethernet, SATA, MPEG-2, Gzip, PKZIP, POSIX cksum, PNG[24], ZMODEM) Representations: normal / reversed / reverse of reciprocal:0x04C11DB7 / 0xEDB88320 / 0x82608EDB[12]



#21610 SD card not working on N+ 4.2 RC3

Posted by Geancarlo on 12 December 2011 - 11:10 AM in Beta Firmware and Drivers

Hi Chris,
at the moment I'm using a 1GB SanDisk card with no problems at all. I also have used another 2GB SanDisk too before. Sadly, I can't send you a card since I'm in Brazil...

Something I'm concerned about is that not all microSD cards are required to be SPI compliant. I haven't digged into netduino's .netmf implementation, but is it safe to assume that spi is the only communication available?

If you check this blog post you can find some interesting information that raises doubts about Kingston cards authenticity and some may not be SPI compliant at all.

Perhaps some of us who have problems with the cards have just been unlucky, but this is not something to be overlooked if we want to make a reliable product based on netduino(!!)

Thanks



#21451 IAR compiler & LED don't blink

Posted by Geancarlo on 07 December 2011 - 05:14 PM in Netduino Plus 2 (and Netduino Plus 1)

That's normal..if you erase it again Windows and SAM-BA will detect it as usual.



#21007 Nut/OS on netduino

Posted by Geancarlo on 27 November 2011 - 01:27 AM in Netduino Plus 2 (and Netduino Plus 1)

Hello, I have just started trying to use Nut/OS on the Netduino plus with no success at networking.

On the web server example(httpd) I have verified that the code hangs on NutNetIfConfig(DEV_ETHER_NAME, mac, ip_addr, ip_mask).

-Doesn't work on either Nut/OS 4.1(Stable) or 5.0(latest beta).
-I'm using YAGARTO toolchain(GCC 4.6.2) and tools(v. 20100703).
-As IDE, I have CodeLite, although not really relevant.
-I'm deploying* with SAM-BA 2.11(executing the flash boot script)
-This is my simple make batch script, which is used with default makefiles on each app directory:
set makeLocation=C:\ethernut-5.0\nutapp\httpd
set pathExtra=C:\ethernut-5.0\nut\tools\win32;C:\yagarto\toolchain\bin;

cd %makeLocation%
set PATH=%pathExtra%;%PATH%
make clean all install


::%SystemRoot%\explorer.exe "%makeLocation%
PAUSE

Please post some hints if you have managed to make Nut/OS work with N+ :(



#20711 SD card not working on N+ 4.2 RC3

Posted by Geancarlo on 16 November 2011 - 09:42 PM in Beta Firmware and Drivers

Hello. Any fix, idea, comment, help, progress... anything about this?



#20584 SD card not working on N+ 4.2 RC3

Posted by Geancarlo on 14 November 2011 - 05:47 AM in Beta Firmware and Drivers

Hello. First of all, I'd like to say thanks for this fun and easy development platform.

The reason I am posting is that I am facing issues with micro SD cards(using a Kingston SDC/2GB atm), as other people have already posted.

The following code works just fine with firmware 4.1.0.6 on NetduinoPlus:

using System;
using System.IO;
using System.Net;
using System.Net.Sockets;
using System.Threading;
using Microsoft.SPOT;
using Microsoft.SPOT.IO;
using Microsoft.SPOT.Hardware;
using SecretLabs.NETMF.Hardware;
using SecretLabs.NETMF.Hardware.NetduinoPlus;

namespace MicroSdTest
{
    public class Program
    {
        public static void Main()
        {
            Thread.Sleep(1000);
            VolumeInfo vol = new VolumeInfo("\\SD");

            string dir = Directory.GetCurrentDirectory();
            string[] dirs = Directory.GetDirectories("\\");
            dirs = Directory.GetDirectories("\\SD\\");
            foreach (string d in dirs)
                Debug.Print(d);                

            Debug.Print("ok");
        }
    }
}

I usually set a breakpoint before
dirs = Directory.GetDirectories("\\SD\\");
so I can check the contents of vol or I can just let it pass crashing or printing. It turns out that on 4.1.0.6, it detects the FAT filesystem just fine and I can format/print the directories. On 4.2 RC3 none of that occurs and the code crashes whenever I try to access any of the card's features.


I have tried this simple code running back and forth from 4.1.0.6 to 4.2RC3 a few times and the behavior was consistent. Am I missing something like mounting it on 4.2RC3 or is it a bug? This particular issue is delaying a project of mine...

edit:forgot to post the actual exception I get
A first chance exception of type 'System.NotSupportedException' occurred in Microsoft.SPOT.IO.dll
A first chance exception of type 'System.IO.IOException' occurred in System.IO.dll
An unhandled exception of type 'System.IO.IOException' occurred in System.IO.dll

Thanks,
Geancarlo Rocha




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.