Ethernet shield and AVR C approach

Hi thanks for taking the time to read this.

Is it possible to interface with an Ethernet shield if I take the AVR C approach to my project? Is there existing support for this?

If by avr c Approach you mean not using any of the wiring.h functions in your program that you have written in the arduino ide, just include the library in your source code.

Thanks. Just to confirm, I am talking about not using the IDE and using avrlibc, AVR-gcc etc to write it purely in C. The Arduino Ethernet library would work outside the Arduino IDE?

No, it will not. The Ethernet library references wprogram.h and print.h, which in turn reference all of the arduino and wiring header files. It is a common misconception that the arduino environment is not 'regular' c++ . It is. It just also includes some functions which make programming easier, but that you don't have to use. Why are you not using the IDE?

Thanks for enlightening me. I got the idea that it was watered down. Looks like I am good to go :)

So, if I want to use the Ethernet Shield with a raw AVR chip, (ATMEGA88 in my case), is there any problem with that?

What's the simplest way to do it? Which files will need included in the build?


Please excuse this reply which does not directly answer the question…
I have been using Arduino IDE and have put it all together using Ethernet Shield(connected of course to router) on one ARduino Uno/Xbee-----> use TextFinder and Xbee on another Arduino Uno with Motor Shield on a Tamiya “tank” for which I have a sketch which allows me to control it via IP, via a webserver service(Hostmonster) where I have a web page with control links for the tank. It is great.
Also: I use the same tank with a sketch which allows it to be self-controlling, avoiding obstacles in a room.
Both of these have been done by many others, but together apply many aspects of Arduino environment and took me many months to build up to them, not being credentialled in either electronics(my first love) nor (even less) in programming.

If I understand the gist of the questions, some of us wish to do it all using C. I have been working on this and it is rewarding BUT given that Arduino environment is in C++ and made very user/novice -friendly, I see a tremendous gap between using ARduino environment and doing it from scratch in C.
Just doing PWM for motor control with C took some work after revising AFMotor libraries in C, but I can see that Servo is much more complicated, not to mention Ethernet, Server, Client and all the other aspects needed to convert my Tank1 and Tank2 projects to C.

It’s not just a matter of including Arduino libraries in AVR Studio or Eclipse or whatever…

I love this but am bobbing in a deep and rough ocean…

So, if I want to use the Ethernet Shield with a raw AVR chip, (ATMEGA88 in my case), is there any problem with that?

The ATMega88 has 8K of Flash memory and 1K of SRAM. The bigger 328 often has issues serving up web pages of any size, so I imagine you are going to be very hard pressed to work with a 88.