DPRG
DPRG List  



[DPRG] Return of the AVR Mega-Geek

Subject: [DPRG] Return of the AVR Mega-Geek
From: Dick Swan dickswan at sbcglobal.net
Date: Thu Feb 18 14:27:59 CST 2010

Quote: "Other than that, the Arduino software is nothing but a set of really
convenient libraries."

 

I have not looked exhaustively, but one thing I've noticed is that the
Arduino "libraries" have a few weaknesses.

 

1.      There's lots of downloadable functions on the web to perform purpose
specific functions - ultrasonic sensor support, drive motors, LCD displays,
motor control, etc. But these tend to be standalone modules and have usually
not been tested to work together with other modules. 

 

2.      Because the modules have been written independently without
integration, you may find conflicts where different modules assume they have
exclusive access to the same hardware resource (e.g. timers).

 

3.      Most of the modules are an inline vs interrupt based implementation.
What I mean by this is that they do all their "work" in the initial function
call and not spread out over multiple background "time slices". So, for
example, it may take 20 milliseconds (i.e. the time for maximum echo
response) to read an ultrasonic sensor where the CPU is dedicated to looking
for the echo and doing nothing else. Or, if you're generating a one to two
millisecond pulse to control servos then the pulse generation is done
inline.

 

4.      Implementation of serial port drivers tend to be a simple "polled"
implementation rather than a buffered interrupt based solution.

 

What this means is that the resultant software may not always be conducive
to a typical robot application where you want great real-time response and
deterministic execution times.

 

Fortunately the AtMega CPU has hardware peripheral support for H-bridge
motor PWM. So that common function can be implemented in hardware. The
original Arduino has AtMega hardware peripheral support for two motors.

 

Has anyone else noticed this and found it to be a problem?

 

 

 

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://list.dprg.org/pipermail/dprglist/attachments/20100218/514b91cb/attachment.html

More information about the DPRG mailing list