piclist 2000\11\04\154431a >
Thread: Getting started version 4.0
www.piclist.com/techref/index.htm?key=getting+started
flavicon
face BY : David VanHorn email (remove spam text)



I hope this isn't TOO OT for the piclist, but at least it's all about a
microcontroller :)

I have been making available, through Dontronics and now through the AVR
group at egroups.com, an application for the AVR8515 called "gettting
started". Originally, it was pretty simple. I first wrote it to illustrate
how to set up the chip, and how to use the major on-board peripherals, but
like anything left in the refigerator too long, it's been growing.  It has
a bunch of handy routines for external devices, like R/C servos, LCD and
VFD displays, stepper motors..  Version 4.0 has all that, plus the major
additions below:

Finally, it's done. Version 4.0. I've mailed it to Don @ dontronics, I
don't know how long it will take for him to make it available. It is
available now at the egroups site (avrspamEraseMEegroups.com).

The biggest changes are:

The elimination of the old linear buffers. They've been replaced with
variable length circular buffers. I made them variable length, in
preparation for a dynamic allocation scheme, but I'm not sure at this point
if it's worth implementing. That's part of what I'm exploring for version 5.0

The implementation of a language interpreter, reading commands with
optional parameters from EEPROM. This also means that the program in EEPROM
is alterable, so this is a starting point for a robot or other device that
could "learn". The language only has four commands implemented, but I
didn't want to make it too complicated at first. It is trivially easy to
add your own commands, and they can be simple procedures, or they could
alter the behaviour of other parts of the system. It's entirely up to the
user. Currently implemented commands: Delay (ms), Servo position (servo)
(position), Loop, and Skip (commands to skip) I didn't implement variables,
but adding a few fixed variables would be trivial. I'm looking for a more
flexible scheme that would allow me to allocate variable memory
dynamically, but again, that's something for 5.0

There are many cleanups and improvements in the other routines as well. The
hardware assignments are easier to deal with, and I've pulled in all the
rom and ram allocations to the routines that use them, rather than having
them in "tables.asm" and "equates.asm"

It's still fast, and it uses just over half the rom (as configured) and
less than half the ram (again, as configured) In a real application, you
probably allocate only a small subset of the buffers I have in this demo,
but I wanted to make it visually "busy", so I am using all eight servos
(one is controlled by the interpreted program, one is controlled by the
random generator, and the rest simply ramp), a VFD display (scrolling the
top and bottom lines in opposite directions within the same buffer), and
LCD display with different text, but scrolling similarly, and a "Quick
brown fox" output on the serial port, plus morse code output with
randomized messages.

Given all that, the CPU is still nearly idle :)



--
Where's dave? http://www.findu.com/cgi-bin/find.cgi?kc6ete-9

--
http://www.piclist.com hint: The list server can filter out subtopics
(like ads or off topics) for you. See http://www.piclist.com/#topics




<20001104204431.BVAT28911.mail2.rdc1.il.home.com@main>

In reply to: <4.3.2.7.2.20001104190108.00dcd410@192.168.0.4>
See also: www.piclist.com/techref/index.htm?key=getting+started
Reply You must be a member of the piclist mailing list (not only a www.piclist.com member) to post to the piclist. This form requires JavaScript and a browser/email client that can handle form mailto: posts.
Subject (change) Getting started version 4.0

month overview.

new search...